I want to use python3.5 for development, but many times when I install the module for python 3.5, it always fails. The terminal tells me that a higher version is available, but it doesn't work when I upgrade it. 
12 Answers
You are using pip3 to install flask-script which is associated with python 3.5. However, you are trying to upgrade pip associated with the python 2.7, try running pip3 install --upgrade pip.
It might be a good idea to take some time and read about virtual environments in Python. It isn't a best practice to install all of your packages to the base python installation. This would be a good start:
2To upgrade your pip3, try running:
sudo -H pip3 install --upgrade pip Your pip may move from /bin to /usr/local/bin
To upgrade pip as well, you can follow it by:
sudo -H pip2 install --upgrade pip 6Try this command:
pip3 install --upgrade setuptools pip 5First decide which pip you want to upgrade, i.e. just pip or pip3. Mostly it'll be pip3 because pip is used by the system, so I won't recommend upgrading pip.
The difference between pip and pip3 is that
NOTE: I'm referring to PIP that is at the BEGINNING of the command line.
pip is used by python version 2, i.e. python2
and
pip3 is used by python version 3, i.e. python3
For upgrading pip3: # This will upgrade python3 pip.
pip3 install --upgrade pip For upgrading pip: # This will upgrade python2 pip.
pip install --upgrade pip This will upgrade your existing pip to the latest version.
2The Problem
You use pip (the Python 2 one). Now you want to upgrade pip (the Python 3 one). After that, pip is the Python 3 one.
The solution
Use pip2 and pip3. This way it is explicit.
If you want to use pip, just check where it is (which pip) and change the link. For example:
$ which pip /usr/local/bin/pip $ pip --version pip 9.0.1 from /usr/local/lib/python3.5/dist-packages (python 3.5) $ which pip2 /usr/local/bin/pip2 $ sudo rm /usr/local/bin/pip $ sudo ln -s /usr/local/bin/pip2 /usr/local/bin/pip $ pip --version pip 9.0.1 from /usr/local/lib/python2.7/dist-packages (python 2.7) for Python 3:
python3 -m pip install --upgrade pipfor Python 2:
python2 -m pip install --upgrade pip
What worked for me was the following command:
python -m pip install --upgrade pip pip3 install --upgrade pip worked for me
In Ubuntu 18.04, below are the steps that I followed.
python3 -m pip install --upgrade pip For some reason you will be getting an error, and that be fixed by making bash forget the wrongly referenced locations using the following command.
hash -r pip If you have 2 versions of Python (eg: 2.7.x and 3.6), you need do:
- add the path of 2.x to system PATH
- add the path of 3.x to system PATH
pip3 install --upgrade pip setuptools wheel
for example, in my .zshrc file:
export PATH=/usr/local/Cellar/python@2/2.7.15/bin:/usr/local/Cellar/python/3.6.5/bin:$PATH You can exec command pip --version and pip3 --version check the pip from the special version. Because if don't add Python path to $PATH, and exec pip3 install --upgrade pip setuptools wheel, your pip will be changed to pip from python3, but the pip should from python2.x
This worked for me (mac)
sudo curl | python If you try to run
sudo -H pip3 install --upgrade pip3 you will get the following error:
WARNING: You are using pip version 19.2.3, however version 21.0.1 is available. You should consider upgrading via the 'pip install --upgrade pip' command. but if you upgrade using the suggested command:
pip install --upgrade pip then, the legacy pip will be upgraded, so what I did is the following:
which pip3 and I located my pip3 installation (just in case the following command wouldn't upgrade the legacy pip. Then i changed to that directory and upgraded pip3 using the following commands: (your directory could be different)
cd /Library/Frameworks/ sudo -H pip3 install --upgrade pip after this:
pip --version will still show the legacy version, while
pip3 --version will show pip 21.0.1