How do I use pip 3 with Python 3.4?

Instead of installing python3-pip via apt-get or whatever (because the version in the repo is too old), download get-pip.py, switch to the folder where you saved it, and run

sudo python3 get-pip.py

and it will install the latest version of pip for you. It may create a symlink to pip3, it may not, I don't remember.

You can then run

sudo pip install virtualenv

then use it to create your virtualenv, activate it, then use the pip installed inside it to get Django.

NOTE:

You can use the same copy of get-pip.py to install pip for Python 2. If you want to do that, however, I'd advise you to run

sudo python get-pip.py

before you run

sudo python3 get-pip.py

Whichever one you install last will take the pip filename. I don't know if Python 2 installs a command called pip2 (I know upgrading pip via pip does), but after you run the Python 2 install, run

sudo ln -s /usr/local/bin/pip2.7 /usr/local/bin/pip2

to create a pip2 alias. You can then run the Python 3 install, which will overwrite /usr/local/bin/pip, then run

sudo ln -s /usr/local/bin/pip3.4 /usr/local/bin/pip3

to create a pip3 command as well (if you get an error that the file already exists, then you're good to go). Now, instead of running pip when installing to your system site-packages and not knowing exactly which version you're calling, you can just use pip2 and pip3 to explicitly state the version you want.


In previous (X)Ubuntu versions it would be found under pip3 in your bash terminal, but such command didn't appear for me in Xubuntu 16.04.1 LTS. I founded pip (version python2.7), pip2 and pip2.7.

You know pip is in the repositories under python3-pip. If you want to use pip in the repo firstly you must have it installed. Answering your question,

How to use pip3 in Ubuntu:

sudo python3 -m pip install <your-pypi>

Maybe for you is easier to have pip3 as a command. Then, you need to upgrade it:

sudo python3 -m pip install --upgrade pip

It will create pip3 and pip3.5 **but** it modifies pip too. It did for me, now if I do pip -V it shows (python 3.5). Maybe this replacement is the reason Ubuntu doesn't include the pip3 binaries as commands.

Update June 2019:

I'm using Ubuntu 18.04.x LTS since last year. I founded locally installed (in ~/.local) pip command pointing to pip2 (like python always points to python2) and pip3 pointing my last version of pip for python3.x as expected. So it is safe to install the package python3-pip from the repo. Although python2 was installed at system level at the beginning, it did not include pip or pip2 command in /usr/bin/


I have python 3.4.2 installed on a debian derived OS (bunsenlabs hydrogen) and I spent many hours trying to resolve the problem before finding this thread. Using get-pip.py worked for me, but not quite as shown in this thread. Below is the order that worked for me. BTW, before running this I had to run:

apt-get remove python3-pip

because a different thread had suggested installing 'python3-pip'. That package gave me pip, but I then received errors that 'ensurepip' was missing.

Here is my sequence that worked:

1) download get-pip.py using the instruction given by MattDMo above
2) sudo python3 get-pip.py
3) sudo python3 -m pip install virtualenv
4) as normal user:
    % cd $HOME
    % mkdir testenv
    % python3 -m virtualenv testenv

My thanks to MattDMo for providing an explanation of what works.

Tags:

Python 3.X

Pip