Установка пакетов pip в папку $HOME

возможно ли это? При установке pip, установите пакеты python внутри моего $HOME папка. (например, я хочу установить mercurial, используя pip, а внутри $HOME вместо /usr/local)

Я с машиной mac и просто подумал об этой возможности, вместо того, чтобы" загрязнять " мой /usr/local, Я бы использовал мой $HOME вместо.

PEP370 именно об этом. Это просто создание ˜/.local и pip install package достаточно чтобы эти пакеты были установлены только в моей папке $HOME?

3 ответов


в то время как вы можете использовать virtualenv, вам не надо. Трюк проходит PEP370 до setup.py сценарий. С последней версией pip, один из способов сделать это:

pip install --user mercurial

это должно привести к hg скрипт устанавливается в $HOME/.local/bin/hg и остальная часть пакета hg в $HOME/.local/lib/pythonx.y/site-packages/.

обратите внимание, что вышесказанное верно для Python 2.6. Было противоречия среди разработчиков Python core о каково подходящее расположение каталога в Mac OS X для PEP370-style user установок. В Python 2.7 и 3.2 местоположение в Mac OS X было изменено с $HOME/.local to $HOME/Library/Python. Это может измениться в будущем выпуске. Но сейчас, на 2.7 (и 3.2, если hg были поддержаны на Питоне 3), вышеуказанные положения будут $HOME/Library/Python/x.y/bin/hg и $HOME/Library/Python/x.y/lib/python/site-packages.


Я бы использовал virtualenv в вашем домашнем каталоге.

$ sudo easy_install -U virtualenv
$ cd ~
$ virtualenv .
$ bin/pip ...

вы также можете изменить ~/.(login|profile|bash_profile), в зависимости от того, что правильно для вашей оболочки, чтобы добавить ~ / bin к вашему пути, а затем это pip|python|easy_install будет использоваться по умолчанию.


вы можете указать (--target), чтобы указать каталог назначения. См.pip install --help для получения подробной информации. Это команда, которая вам нужна:

pip install -t path_to_your_home package-name

например, для установки say mxnet, в my