330 votes

Comment puis-je installer des paquets dans mon dossier $HOME avec le pip ?

Est-il possible? Lors de l'installation d' pip, installer les paquets python à l'intérieur de mon $HOME le dossier. (par exemple, je veux installer mercurial, à l'aide de pip, mais à l'intérieur, $HOME au lieu de /usr/local)

Je suis avec un mac de la machine et juste pensé à cette possibilité, au lieu de "polluer" mon /usr/local, je voudrais utiliser mon $HOME à la place.

PEP370 est exactement à ce sujet. Est juste de créer un ˜/.local et faire un pip install package assez pour faire ces packages à installer seulement dans mon $HOME dossier?

469voto

Ned Deily Points 40248

Alors que vous pouvez utiliser un virtualenv, vous n'avez pas besoin d'. L'astuce est de passer le PEP370 --user argument de la setup.py script. Avec la dernière version d' pip, une façon de le faire est:

pip install --user mercurial

Cela devrait se traduire dans l' hg script installé en $HOME/.local/bin/hg et le reste de l'hg paquet en $HOME/.local/lib/pythonx.y/site-packages/.

Remarque, que le ci-dessus est vrai pour la version 2.6 de Python. Il y a eu un peu de controverse parmi les Python développeurs de coeur sur ce qui est le répertoire approprié emplacement sur Mac OS X pour PEP370 style user des installations. En Python 2.7 et 3.2, la localisation sur Mac OS X a été modifié à partir de $HOME/.local de $HOME/Library/Python. Cela pourrait changer dans une prochaine version. Mais, pour l'instant, sur les 2.7 et 3.2, si hg ont été pris en charge sur Python 3), les emplacements ci-dessus sera $HOME/Library/Python/x.y/bin/hg et $HOME/Library/Python/x.y/lib/python/site-packages.

21voto

Ross Patterson Points 4331

Je voudrais utiliser virtualenv dans votre répertoire HOME.

Vous pourriez alors également modifier , selon ce qui est bon pour votre shell pour ajouter ~/bin à votre chemin d’accès, puis qui serait celle utilisée par défaut.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X