Au lieu de l' --target
option ou de l' --install-options
option, j'ai trouvé que ce qui suit fonctionne bien (d'après la discussion sur un bug concernant cette chose à https://github.com/pypa/pip/issues/446 ):
PYTHONUSERBASE=/path/to/install/to pip install --user
(Ou définissez le PYTHONUSERBASE
répertoire dans votre environnement avant d'exécuter la commande, en utilisant export PYTHONUSERBASE=/path/to/install/to
)
Celui - ci utilise la très utile --user
option , mais dit pour faire les bin
, lib
, share
et d' autres répertoires que vous attendez dans un préfixe personnalisé plutôt que $HOME/.local
.
Ensuite , vous pouvez ajouter à votre PATH
, PYTHONPATH
et d' autres variables comme vous le feriez dans un répertoire d'installation normale.
Notez que vous devrez peut-être également spécifier les options --upgrade
et --ignore-installed
si des packages dont cela dépend nécessitent l'installation de versions plus récentes dans le PYTHONUSERBASE
répertoire, pour remplacer les versions fournies par le système.
Un exemple complet:
PYTHONUSERBASE=/opt/mysterypackage-1.0/python-deps pip install --user --upgrade numpy scipy
..pour installer les versions les plus récentes scipy
et numpy
package dans un répertoire que vous pouvez ensuite inclure dans votre PYTHONPATH
comme ça (en utilisant bash et pour python 2.6 sur CentOS 6 pour cet exemple):
export PYTHONPATH=/opt/mysterypackage-1.0/python-deps/lib64/python2.6/site-packages:$PYTHONPATH
export PATH=/opt/mysterypackage-1.0/python-deps/bin:$PATH
Utiliser virtualenv est toujours une solution meilleure et plus soignée!