Ist es möglich? Installieren Sie pip
bei der Installation die Python-Pakete in meinem $HOME
Ordner. (Zum Beispiel möchte ich installieren mercurial
, verwenden pip
, aber innen $HOME
statt /usr/local
)
Ich bin mit einem Mac unterwegs und habe nur über diese Möglichkeit nachgedacht, anstatt meine zu "verschmutzen" /usr/local
, würde ich $HOME
stattdessen meine verwenden.
Bei PEP370 geht es genau darum. Ist nur das Erstellen eines ˜/.local
und pip install package
genug, um diese Pakete so zu gestalten, dass sie nur in meinem $ HOME-Ordner installiert werden?
$ python setup.py --user install
. Und es hat funktioniert. Das Paket ist jetzt zu Hause installiert und funktioniert wie erwartet. Muss mit meinem Serveradministrator sprechen.wget https://bootstrap.pypa.io/get-pip.py
gefolgt vonpython get-pip.py
und Sie können loslegen. Könnte nützlich sein, wenn Sie sich auf einem Computer befinden, auf dem der installierte PIP zu alt ist (war bei mir der Fall). Weitere Informationen finden Sie unter pip.readthedocs.org/en/latest/installing.html .Antworten:
Während Sie a verwenden können
virtualenv
, müssen Sie nicht. Der Trick besteht darin, das PEP370---user
Argument an dassetup.py
Skript zu übergeben. Mit der neuesten Version vonpip
ist eine Möglichkeit, dies zu tun:Dies sollte dazu führen, dass das
hg
Skript installiert wird$HOME/.local/bin/hg
und der Rest des hg-Pakets in$HOME/.local/lib/pythonx.y/site-packages/
.Beachten Sie, dass dies für Python 2.6 gilt. Unter den Python-Kernentwicklern gab es einige Kontroversen darüber, welcher Verzeichnisort unter Mac OS X für
user
Installationen im PEP370-Stil geeignet ist . In Python 2.7 und 3.2 wurde der Speicherort unter Mac OS X von$HOME/.local
auf geändert$HOME/Library/Python
. Dies kann sich in einer zukünftigen Version ändern. Derzeit sind jedoch unter 2.7 (und 3.2, sofernhg
dies unter Python 3 unterstützt wurde) die oben genannten Speicherorte$HOME/Library/Python/x.y/bin/hg
und$HOME/Library/Python/x.y/lib/python/site-packages
.quelle
easy_install
wird standardmäßig in Mac OS X installiert, daher hätte ich nur pip außerhalb des$HOME
Ordners installiert ..local
immer zuerst getroffen werden, was dazu führen kann , dass Importfehler nur sehr schwer aufgespürt werden können.export PATH=$PATH:~/Library/Python/X.Y/bin/
.Ich würde virtualenv in Ihrem HOME-Verzeichnis verwenden.
Sie können dann auch ändern
~/.(login|profile|bash_profile)
, je nachdem, was für Ihre Shell richtig ist, um ~ / bin zu Ihrem PATH hinzuzufügen, und dannpip|python|easy_install
wird dies standardmäßig verwendet.quelle
virtualenv venv
,source venv/bin/activate
. Möglicherweise möchten Sie Ihre virtuelle Umgebung nicht immer verwenden. Bei Verwendung dieser Methode wird Ihrer Eingabeaufforderung bei der Verwendung ein Präfix vorangestellt(venv)
.Sie können die
-t
Option (--target
) angeben, um das Zielverzeichnis anzugeben. Siehepip install --help
für detaillierte Informationen. Dies ist der Befehl, den Sie benötigen:Um beispielsweise mxnet in meinem
$HOME
Verzeichnis zu installieren, gebe ich Folgendes ein :quelle
distutils.errors.DistutilsOptionError: can't combine user with prefix, exec_prefix/home, or install_(plat)base
. Was bedeutet das?