web-dev-qa-db-fra.com

Comment exécuter pip de différentes versions de python en utilisant la commande python?

J'utilise actuellement Python sur Ubuntu 15.10

Mais dans mon système d'exploitation, de nombreuses versions de python sont installées:

  • Python (2.7.9) 
  • Python3 (3.4.3)
  • Python3.5
  • PyPy

Donc, j'ai eu des ennuis avec la version de leur environnement de paquet, par exemple, si je lance:

pip3 install Django

En fait, je ne peux pas importer Django dans python3.5.

Existe-t-il un moyen efficace d’appeler la version correspondante de pip?

PS: Ne suggérez pas que j'utilise virtualenv, je le sais et je cherche une autre solution.

18
Alfred Huang

Enfin, j'ai trouvé la solution moi-même, voir la documentation:

https://docs.python.org/3/installing/index.html?highlight=pip#work-with-multiple-versions-of-python-installed-in-parallel

Il suffit d'appeler:

pythonXX -m pip install SomePackage

Cela fonctionnerait séparément pour chaque version de python installé.

En outre, selon la documentation, si nous voulons faire la même chose dans Windows, la commande est un peu différente:

py -2   -m pip install SomePackage  # default Python 2
py -2.7 -m pip install SomePackage  # specifically Python 2.7
py -3   -m pip install SomePackage  # default Python 3
py -3.4 -m pip install SomePackage  # specifically Python 3.4
55
Alfred Huang

Cette solution a fonctionné pour moi:

Sudo python2.7 -m pip install [package name]
3
Franke

Que diriez-vous d'utiliser pyenv ?

Vous pouvez changer de version.

$ pyenv install 2.7.X
$ pyenv install 3.5.X
$ pyenv local 2.7.X
$ pyenv global 3.5.X
3
masudak

Pourquoi ne pas utiliser l'anaconda?

Si vous utilisez conda, vous pouvez facilement créer/gérer un env virtuel. Par exemple, si vous avez root env python 3.4 et py27 env pour python 2.7, vous pouvez facilement basculer entre eux en utilisant la commande source activate [env]

source activate py27
conda install SomePackage
1
spacegoing