C'est possible? Lors de l'installation pip
, installez les packages python dans mon $HOME
dossier. (par exemple, je veux installer mercurial
, utiliser pip
, mais à l'intérieur $HOME
au lieu de /usr/local
)
Je suis avec une machine mac et j'ai juste pensé à cette possibilité, au lieu de "polluer" la mienne /usr/local
, j'utiliserais ma à la $HOME
place.
PEP370 est exactement à ce sujet. Est-ce que la création d'un ˜/.local
et en fait pip install package
assez pour que ces packages soient installés uniquement dans mon dossier $ HOME?
$ python setup.py --user install
. Et ça a marché. Le package est maintenant installé à la maison sous-répertoire et tout fonctionne comme prévu. Devra parler à mon administrateur de serveur.wget https://bootstrap.pypa.io/get-pip.py
suivi depython get-pip.py
et vous êtes prêt à partir. Cela pourrait être utile si vous êtes sur une machine où le PIP installé est trop ancien (c'était le cas pour moi). Voir pip.readthedocs.org/en/latest/installing.html pour plus d'informations.Réponses:
Bien que vous puissiez utiliser un
virtualenv
, vous n'en avez pas besoin. L'astuce consiste à passer l'--user
argument PEP370 ausetup.py
script. Avec la dernière version depip
, une façon de procéder est:Cela devrait entraîner l'
hg
installation du script$HOME/.local/bin/hg
et le reste du package hg$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 concernant l'emplacement du répertoire approprié sur Mac OS X pour les
user
installations de style PEP370 . Dans Python 2.7 et 3.2, l'emplacement sur Mac OS X a été changé de$HOME/.local
à$HOME/Library/Python
. Cela pourrait changer dans une prochaine version. Mais, pour l'instant, sur 2.7 (et 3.2, s'ilshg
étaient pris en charge sur Python 3), les emplacements ci-dessus seront$HOME/Library/Python/x.y/bin/hg
et$HOME/Library/Python/x.y/lib/python/site-packages
.la source
easy_install
est installé dans Mac OS X par défaut, donc je n'aurais que pip installé en dehors du$HOME
dossier..local
seront toujours touchés en premier, ce qui peut rendre très difficile le suivi des erreurs d'importation.export PATH=$PATH:~/Library/Python/X.Y/bin/
.J'utiliserais virtualenv dans votre répertoire HOME.
Vous pouvez alors également modifier
~/.(login|profile|bash_profile)
, selon ce qui convient à votre shell pour ajouter ~ / bin à votre PATH et cepip|python|easy_install
serait celui utilisé par défaut.la source
virtualenv venv
,source venv/bin/activate
. Vous ne voudrez pas nécessairement utiliser toujours votre virtualenv, et en utilisant cette méthode, votre invite est préfixée(venv)
lorsque vous l'utilisez.Vous pouvez spécifier l'
-t
option (--target
) pour spécifier le répertoire de destination. Voirpip install --help
pour des informations détaillées. Voici la commande dont vous avez besoin:par exemple, pour installer disons mxnet, dans mon
$HOME
répertoire, je tape:la source
distutils.errors.DistutilsOptionError: can't combine user with prefix, exec_prefix/home, or install_(plat)base
. Qu'est-ce que ça veut dire?