C'est possible? Lors de l'installation pip
, installez les packages python dans mon dossier $HOME
. (Par exemple, je souhaite installer Mercurial
à l'aide de pip
, mais à l'intérieur de $HOME
au lieu de /usr/local
)
Je suis avec une machine mac et je viens de penser à cette possibilité, au lieu de "polluer" mon /usr/local
, je voudrais plutôt utiliser mon $HOME
.
PEP370 est exactement à ce sujet. Est-ce qu'il suffit de créer un ˜/.local
et de faire un pip install package
suffisant pour que ces paquetages soient installés uniquement dans mon dossier $ HOME?
Bien que vous puissiez utiliser un virtualenv
, vous n'en avez pas besoin. L'astuce consiste à passer l'argument PEP370 --user
au script setup.py
. Avec la dernière version de pip
, vous pouvez le faire comme suit:
pip install --user Mercurial
Le script hg
devrait alors être installé dans $HOME/.local/bin/hg
et le reste du paquet hg dans $HOME/.local/lib/pythonx.y/site-packages/
.
Notez que ce qui précède est vrai pour Python 2.6. Il y a eu un peu de controverse parmi les développeurs principaux de Python à propos de l'emplacement du répertoire approprié sur Mac OS X pour les installations user
de style PEP370. Dans Python 2.7 et 3.2, l'emplacement sous Mac OS X a été modifié de $HOME/.local
à $HOME/Library/Python
. Cela pourrait changer dans une prochaine version. Mais pour l'instant, sur 2.7 (et 3.2, si hg
était pris en charge sur Python 3), les emplacements ci-dessus seraient $HOME/Library/Python/x.y/bin/hg
et $HOME/Library/Python/x.y/lib/python/site-packages
.
Je voudrais utiliser virtualenv à votre répertoire HOME.
$ Sudo easy_install -U virtualenv
$ cd ~
$ virtualenv .
$ bin/pip ...
Vous pouvez alors aussi modifier ~/.(login|profile|bash_profile)
, selon ce qui convient à votre Shell pour ajouter ~/bin à votre PATH, puis ce pip|python|easy_install
serait celui utilisé par défaut.
Vous pouvez spécifier l'option -t
(--target
) pour spécifier le répertoire de destination. Voir pip install --help
pour des informations détaillées. C'est la commande dont vous avez besoin:
pip install -t path_to_your_home package-name
par exemple, pour installer disons mxnet, dans mon répertoire $HOME
, je tape:
pip install -t /home/foivos/ mxnet