É possível? Ao instalar pip
, instale os pacotes python dentro da minha $HOME
pasta. (por exemplo, eu quero instalar mercurial
, usando pip
, mas dentro, em $HOME
vez de /usr/local
)
Estou com uma máquina mac e apenas pensei nessa possibilidade, em vez de "poluir" minha /usr/local
, eu usaria a minha $HOME
.
O PEP370 é exatamente sobre isso. É apenas criar um ˜/.local
e fazer o pip install package
suficiente para fazer com que esses pacotes sejam instalados apenas na minha pasta $ HOME?
$ python setup.py --user install
. E funcionou. Agora o pacote está instalado no subdiretório home e tudo funciona conforme o esperado. Terá que conversar com o administrador do meu servidor.wget https://bootstrap.pypa.io/get-pip.py
seguidopython get-pip.py
e você estará pronto. Pode ser útil se você estiver em uma máquina em que o PIP instalado é muito antigo (foi o caso para mim). Consulte pip.readthedocs.org/en/latest/installing.html para obter mais informações.Respostas:
Enquanto você pode usar a
virtualenv
, não precisa. O truque é passar o--user
argumento PEP370 para osetup.py
script. Com a versão mais recente dopip
, uma maneira de fazer isso é:Isso deve resultar na instalação do
hg
script$HOME/.local/bin/hg
e no restante do pacote hg$HOME/.local/lib/pythonx.y/site-packages/
.Observe que o acima exposto é verdadeiro para o Python 2.6. Houve um pouco de controvérsia entre os principais desenvolvedores do Python sobre qual é o local apropriado do diretório no Mac OS X para
user
instalações no estilo PEP370 . No Python 2.7 e 3.2, a localização no Mac OS X foi alterada de$HOME/.local
para$HOME/Library/Python
. Isso pode mudar em uma versão futura. Mas, por enquanto, no 2.7 (e 3.2, se houverhg
suporte no Python 3), os locais acima serão$HOME/Library/Python/x.y/bin/hg
e$HOME/Library/Python/x.y/lib/python/site-packages
.fonte
easy_install
vem instalado no Mac OS X por padrão, então eu teria apenas o pip instalado fora da$HOME
pasta..local
sempre serão atingidos primeiro, o que pode levar a erros de importação muito difíceis de rastrear.export PATH=$PATH:~/Library/Python/X.Y/bin/
.Eu usaria o virtualenv no seu diretório HOME.
Você também pode alterar
~/.(login|profile|bash_profile)
, o que for mais adequado para o seu shell adicionar ~ / bin ao seu PATH e essepip|python|easy_install
seria o usado por padrão.fonte
virtualenv venv
,source venv/bin/activate
. Você pode não necessariamente querer sempre usar seu virtualenv e, usando esse método, seu prompt é prefixado(venv)
quando você o está usando.Você pode especificar a
-t
opção (--target
) para especificar o diretório de destino. Vejapip install --help
para informações detalhadas. Este é o comando que você precisa:por exemplo, para instalar o say mxnet, no meu
$HOME
diretório, digite:fonte
distutils.errors.DistutilsOptionError: can't combine user with prefix, exec_prefix/home, or install_(plat)base
. O que isso significa?