python - pip를 사용하여 $ HOME 폴더에 패키지를 어떻게 설치할 수 있습니까?


가능한가? pip 를 설치할 때 python 패키지를 $HOME 폴더에 설치하십시오. (예를 들어, pip 사용하여 mercurial 을 설치하려고하지만 /usr/local 대신 $HOME 사용)

나는 맥 머신을 가지고 있는데,이 가능성에 대해서 생각해 보았다. 나의 /usr/local 을 "오염시키는"대신에 나의 $HOME 대신 사용할 것이다.

PEP370 은 정확히 이것에 관한 것입니다. ˜/.local 을 만들고 단지 $ HOME 폴더에만 설치할 수 있도록 pip install package 를 만드시겠습니까?



Answers


virtualenv 를 사용할 수는 있지만 필요하지는 않습니다. 트릭은 PEP370 --user 인수를 setup.py 스크립트에 전달하는 것입니다. 최신 버전의 pip 를 사용하는 한 가지 방법은 다음과 같습니다.

pip install --user mercurial

이것은 $HOME/.local/bin/hghg 스크립트가 설치되고 $HOME/.local/lib/pythonx.y/site-packages/ hg 패키지의 나머지 부분이 설치되어야합니다.

위의 내용은 Python 2.6에서도 마찬가지입니다. 파이썬 핵심 개발자들 사이에서 PEP370 스타일의 user 설치를 위해 Mac OS X에서 적절한 디렉토리 위치가 무엇인지 논란이 있었습니다. Python 2.7 및 3.2에서 Mac OS X의 위치는 $HOME/.local 에서 $HOME/Library/Python 으로 변경되었습니다. 이것은 향후 릴리스에서 변경 될 수 있습니다. 그러나 현재 2.7 (및 3.2, hg 가 Python 3에서 지원되는 경우)에서 위의 위치는 $HOME/Library/Python/xy/bin/hg$HOME/Library/Python/xy/lib/python/site-packages .




나는 HOME 디렉토리에서 virtualenv를 사용할 것이다.

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

~/.(login|profile|bash_profile) 바꿀 수 있습니다 ~/.(login|profile|bash_profile) 여러분의 쉘이 ~ / bin을 PATH에 추가하면 pip|python|easy_install 이 기본적으로 사용됩니다.