Является ли это возможным? При установке pip
установите пакеты python внутри моей $HOME
папки. (например, я хочу установить mercurial
, используя pip
, но внутри $HOME
вместо /usr/local
)
Я использую компьютер Mac и просто подумал об этой возможности, вместо того, чтобы «загрязнять» мою /usr/local
, я бы использовал $HOME
вместо нее.
PEP370 именно об этом. Достаточно ли просто создать ˜/.local
и pip install package
сделать эти пакеты для установки только в моей папке $ HOME?
$ python setup.py --user install
. И это сработало. Пакет теперь установлен в домашнем subdir и все работает как положено. Придется поговорить с администратором моего сервера.wget https://bootstrap.pypa.io/get-pip.py
следующего,python get-pip.py
и все готово. Может быть полезно, если вы работаете на машине, на которой установлен PIP слишком старый (для меня это было так). Смотрите pip.readthedocs.org/en/latest/install.html для получения дополнительной информации.Ответы:
Хотя вы можете использовать
virtualenv
, вам не нужно. Хитрость заключается в передаче--user
аргумента PEP370 вsetup.py
сценарий. С последней версиейpip
, один из способов сделать это:Это должно привести к тому, что
hg
скрипт будет установлен,$HOME/.local/bin/hg
а остальная часть пакета hg - в$HOME/.local/lib/pythonx.y/site-packages/
.Обратите внимание, что вышесказанное верно для Python 2.6. Среди разработчиков ядра Python возникли споры о том, какое расположение каталогов в Mac OS X подходит для установок в стиле PEP370
user
. В Python 2.7 и 3.2 расположение в Mac OS X было изменено с$HOME/.local
на$HOME/Library/Python
. Это может измениться в будущем выпуске. Но на данный момент, на 2.7 (и 3.2, еслиhg
были поддержаны на Python 3), вышеуказанные местоположения будут$HOME/Library/Python/x.y/bin/hg
и$HOME/Library/Python/x.y/lib/python/site-packages
.источник
easy_install
устанавливается в Mac OS X по умолчанию, поэтому я бы установил только pip вне$HOME
папки..local
всегда будут попадать первыми, что может привести к очень трудным отслеживанию ошибок импорта.export PATH=$PATH:~/Library/Python/X.Y/bin/
.Я бы использовал virtualenv в вашем домашнем каталоге.
Затем вы также можете изменить
~/.(login|profile|bash_profile)
, в зависимости от того, подходит ли ваша оболочка для добавления ~ / bin в вашу PATH, и тогда этоpip|python|easy_install
будет тот, который используется по умолчанию.источник
virtualenv venv
,source venv/bin/activate
. Вы не обязательно хотите всегда использовать virtualenv, и с помощью этого метода, ваша подсказка с префиксом ,(venv)
когда вы используете его.Вы можете указать
-t
опцию (--target
), чтобы указать каталог назначения. Смотритеpip install --help
для подробной информации. Это команда, которая вам нужна:например, для установки скажем mxnet, в моем
$HOME
каталоге я набираю :источник
distutils.errors.DistutilsOptionError: can't combine user with prefix, exec_prefix/home, or install_(plat)base
. Что это означает?