Czy to możliwe? Podczas instalacji pip
zainstaluj pakiety python w moim $HOME
folderze. (na przykład chcę zainstalować mercurial
, używając pip
, ale w środku $HOME
zamiast /usr/local
)
/usr/local
Korzystam z komputera Mac i pomyślałem o tej możliwości, zamiast „zanieczyszczać” moją , $HOME
zamiast tego skorzystam z mojej .
PEP370 właśnie o to chodzi. Czy wystarczy utworzyć a ˜/.local
i zrobić pip install package
tyle, aby te pakiety były instalowane tylko w moim folderze $ HOME?
$ python setup.py --user install
. I zadziałało. Pakiet jest teraz instalowany w podkatalogu home i wszystkie działa zgodnie z oczekiwaniami. Będę musiał porozmawiać z moim administratorem serwera.wget https://bootstrap.pypa.io/get-pip.py
a następniepython get-pip.py
gotowe. Może się przydać, jeśli jesteś na komputerze, na którym zainstalowany PIP jest zbyt stary (tak było w moim przypadku). Aby uzyskać więcej informacji, zobacz pip.readthedocs.org/en/latest/installing.html .Odpowiedzi:
Chociaż możesz użyć
virtualenv
, nie musisz. Sztuką jest przekazanie do skryptu--user
argumentu PEP370setup.py
. W najnowszej wersjipip
jednym ze sposobów jest:Powinno to spowodować
hg
zainstalowanie skryptu$HOME/.local/bin/hg
i resztę pakietu hg w$HOME/.local/lib/pythonx.y/site-packages/
.Zauważ, że powyższe odnosi się do Pythona 2.6. Odnotowano nieco kontrowersji wśród głównych programistów Python o tym, co jest właściwe położenie katalogu w systemie Mac OS X dla PEP370 stylu
user
instalacji. W Python 2.7 i 3.2 lokalizacja w Mac OS X została zmieniona z$HOME/.local
na$HOME/Library/Python
. To może się zmienić w przyszłej wersji. Ale na razie w wersji 2.7 (i 3.2, jeślihg
były obsługiwane w języku Python 3) powyższymi lokalizacjami będą$HOME/Library/Python/x.y/bin/hg
i$HOME/Library/Python/x.y/lib/python/site-packages
.źródło
easy_install
jest domyślnie instalowany w Mac OS X, więc instalowałbym tylko pip poza$HOME
folderem..local
zawsze będą trafiane jako pierwsze, co może prowadzić do bardzo trudnego do wyśledzenia błędów importu.export PATH=$PATH:~/Library/Python/X.Y/bin/
.Chciałbym użyć virtualenv w twoim katalogu HOME.
Możesz także zmienić
~/.(login|profile|bash_profile)
, w zależności od tego, co jest odpowiednie dla twojej powłoki, aby dodać ~ / bin do ŚCIEŻKI, a wtedypip|python|easy_install
będzie to ta domyślnie używana.źródło
virtualenv venv
,source venv/bin/activate
. Nie zawsze możesz chcieć zawsze używać swojego virtualenv, a korzystając z tej metody, twój monit jest poprzedzony prefiksem,(venv)
gdy go używasz.Możesz określić
-t
opcję (--target
), aby określić katalog docelowy. Zobaczpip install --help
szczegółowe informacje. Oto polecenie, którego potrzebujesz:na przykład, aby zainstalować powiedz mxnet, w moim
$HOME
katalogu wpisuję :źródło
distutils.errors.DistutilsOptionError: can't combine user with prefix, exec_prefix/home, or install_(plat)base
. Co to znaczy?