Pip install python3 instead of python2

I am using OSX and I have pip installed for both Python3.5 and Python2.7. I know I can run the command pip2 to use Python2 and when I use the command pip3 Python3.x will be used. The problem is that the default of pip is set to Python2.7 and I want it to be Python3.x.

How can I change that?

edit: No, I am not running a virtual environment yet. If it was a virtual environment I could just run Python3.x and forget all about Python2.7, unfortunately since OSX requires Python2.7 for it's use I can't do that. Hence why I'm asking this.

Thanks for the answer. I however don't want to change what running python does. Instead I would like to change the path that running pip takes. At the moment pip -V shows me pip 8.1.2 from /Library/Python/2.7/site-packages (python 2.7), but I am looking for pip 8.1.2 from /Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages (python 3.5) I am sure there has to be a way to do this. Any ideas?

asked Aug 14, 2016 at 0:42

loki lloki l

2,7672 gold badges10 silver badges10 bronze badges

6

Run this:

pip3 install --upgrade --force pip

or even more explicit:

python3 -m pip install --upgrade --force pip

This will install pip for Python 3 and make Python 3 version of pip default.

Validate with:

pip -V

answered Apr 3, 2019 at 11:43

Pip install python3 instead of python2

3

I always just run it via Python itself, this way:

python3 -m pip install some_module

or

python2 -m pip install some_module

The -m calls the __main__.py module of a specified package. Pip supports this.

answered Aug 14, 2016 at 0:50

GhostkeeperGhostkeeper

2,7321 gold badge13 silver badges26 bronze badges

1

Can't you alias pip='pip3' in your ~/.bash_profile?

In Terminal, run nano ~/.bash_profile, then add a line to the end that reads alias pip='pip3'. This is safe; it won't affect system processes, only your terminal.

answered Aug 14, 2016 at 1:16

Luke TaylorLuke Taylor

7,6778 gold badges52 silver badges86 bronze badges

3

For your projects, you should be using a virtualenv.

You can choose which python will be that of the virtualenv at creation time, by specifying it on the command line:

virtualenv -p python3 env
# then
. env/bin/activate
python              # ← will run python3

That python interpreter will be the one used when you run python or pip while the virtualenv is active.

Under the hood, activating the virtualenv will:

  • modify your PATH environment setting so binaries in env/bin override those from your system.
  • modify your PYTHONHOME environment setting so python modules are loaded from env/lib.

So python, pip and any other package you install with pip will be run from the virtualenv, with the python version you chose and the package versions you installed in the virtualenv.

Other than this, running python without using virtualenv will just run the default python of the system, which you cannot usually change as it would break a lot of system scripts.

answered Aug 14, 2016 at 0:57

Pip install python3 instead of python2

spectrasspectras

12.4k2 gold badges29 silver badges48 bronze badges

4

Although PEP 394 does not specifically mention pip, it does discuss a number of other Python-related commands (including python itself). The short version is that, for reasons of backwards compatibility, the unversioned commands should refer to Python 2.x for the immediate future on most reasonable systems.

Generally, these aliases are implemented as symbolic links, and you can just flip the symlink to point at the version you want (e.g. with ln -f -s $(which pip3) $(which pip) as root). But it may not be a good idea if you have any software that expects to interact with Python 2 (which may be more than you think since a lot of software interacts with Python).

The saner option is to set up a Virtualenv with Python 3. Then, within the Virtualenv, all Python-related commands will refer to 3.x instead of 2.x. This will not break the system, unlike the previous paragraph which could well break things.

answered Aug 14, 2016 at 0:57

KevinKevin

27.9k8 gold badges58 silver badges79 bronze badges

4

It works for me:

As super-user

Uninstall pip

sudo pip uninstall pip

Install pip

sudo python3 -m pip install --upgrade --force pip

Check install path

sudo pip -V

As local-user

Uninstall pip

pip uninstall pip

Install pip

python3 -m pip install --upgrade --force pip

Check install path

pip -V

answered Aug 22, 2020 at 12:53

1

Since you have specified in the comments you want syntax like pip install [package] to work, here is a solution:

  1. Install setuptools for Python3: apt-get install python3-setuptools

  2. Now pip for Python3 could be installed by: python3 -m easy_install pip

  3. Now you can use pip with the specific version of Python to install package for Python 3 by: pip-3.2 install [package]

Pip install python3 instead of python2

answered Aug 14, 2016 at 14:26

How do I use Python 3 instead of Python 2 pip?

Install setuptools for Python3 : apt-get install python3-setuptools. Now pip for Python3 could be installed by: python3 -m easy_install pip. Now you can use pip with the specific version of Python to install package for Python 3 by: pip-3.2 install [package]

Does pip install for both Python 2 and 3?

In this article, learn how to install pip on Ubuntu. Note: If you are using Python in a virtual environment created with pyvenv or virtualenv, then pip is available regardless of the version of Python in use. This also applies to Python 2.7. 9 or newer (Python series 2) and Python 3.4 or later (Python series 3).

How do I change python2 to Python3?

We can convert Python2 scripts to Python3 scripts by using 2to3 module. It changes Python2 syntax to Python3 syntax. We can change all the files in a particular folder from python2 to python3.

How do I force pip in Python 3?

Installing pip for Python 3.
Start by updating the package list using the following command: sudo apt update..
Use the following command to install pip for Python 3: sudo apt install python3-pip. ... .
Once the installation is complete, verify the installation by checking the pip version: pip3 --version..