26
votes

I'm now currently using Python on ubuntu 15.10

But in my OS, I have many different python version installed:

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

So, I got mess about the version of their package environment, for example, if I run:

pip3 install django

In fact I cannot import django inside python3.5.

Is there any efficiently way to call the relating version of pip?

PS: Don't suggest that I use virtualenv, I know about it and am seeking another solution.

4
Why are you not using virtualenv? It was made to solve this exact problem. - OdraEncoded
Run pip3 -V and see where it points to. You should also have a pip3.5 for Py3.5. - Dimitris Fasarakis Hilliard
@OdraEncoded: Thank you, I've got the answer myself. - Alfred Huang
Didn't, you might want to fix the link in your answer though. - Dimitris Fasarakis Hilliard
Thank you, I've change the link to a properer section. - Alfred Huang

4 Answers

69
votes

Finally I found the solution myself, see the Docs:

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

Just call:

pythonXX -m pip install SomePackage

That would work separately for each version of installed python.

Also, according to the docs, if we want to do the same thing in windows, the command is a bit different:

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
3
votes

How about using pyenv?

You can switch the version.

$ pyenv install 2.7.X
$ pyenv install 3.5.X
$ pyenv local 2.7.X
$ pyenv global 3.5.X
2
votes

This solution worked for me:

sudo python2.7 -m pip install [package name]
-1
votes

Why not using anaconda?

If you use conda, you can easily create/manage virtual env. For example, if you have root env python 3.4 and py27 env for python 2.7, you can easily switch between them use command source activate [env]

source activate py27
conda install SomePackage