Jak uruchomić pip różnych wersji Pythona za pomocą polecenia python?

Obecnie używam Pythona na ubuntu 15.10

Ale w moim OS, mam wiele różnych wersji Pythona zainstalowany:

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

Więc, mam bałagan o wersji ich środowiska pakietu, na przykład, jeśli uruchomić:

pip3 install django

W rzeczywistości nie mogę zaimportować django wewnątrz python3.5.

Czy Jest jakiś skuteczny sposób na wywołanie odnoszącej się wersji pip?

PS: nie sugeruj, że używam virtualenv, wiem o tym i szukam innego rozwiązania.

Author: Robbie, 2016-01-15

4 answers

W końcu sam znalazłem rozwiązanie, zobacz Docs:

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

Po Prostu zadzwoń:

pythonXX -m pip install SomePackage

To działałoby oddzielnie dla każdej wersji zainstalowanego Pythona.

Również, zgodnie z dokumentami, jeśli chcemy zrobić to samo w windows, komenda jest nieco inna:

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
 66
Author: Alfred Huang,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-01-15 01:53:28

A może użyjesz pyenv ?

Możesz zmienić wersję.

$ pyenv install 2.7.X
$ pyenv install 3.5.X
$ pyenv local 2.7.X
$ pyenv global 3.5.X
 3
Author: masudak,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-01-15 10:54:33

To rozwiązanie zadziałało dla mnie:

sudo python2.7 -m pip install [package name]
 2
Author: Franke,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-03-03 05:26:22

Dlaczego nie użyć anakondy?

Jeśli używasz conda, możesz łatwo tworzyć / zarządzać wirtualnym env. Na przykład, jeśli masz root ENV python 3.4 i py27 env dla Pythona 2.7, możesz łatwo przełączać się między nimi za pomocą polecenia source activate [env]

source activate py27
conda install SomePackage
 -1
Author: spacegoing,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-01-15 02:09:24