Reputation: 777
specs:
macOs BigSur
Iterm2 with ohmyzsh
preinstalled with python2.7.16 & python 3.9.5
Problem :
i upgraded pip without pyenv , so now both pip and pip3 refer to python 3.9.5
i made an alias for python 3.9.5 to be default in .zshrc file
i also used pip to install flask
Questions :
Do i donwgrade pip for python2.7.16?
Or re install python2.7.16 with its pip?
i know i must have used pyenv but; is it possible now ? after 2 versions already installed?
* system (set by /Users/johnDoe/.pyenv/version)
➜ ~ python2 --version
Python 2.7.16
➜ ~ python3 --version
Python 3.9.5
➜ ~ pip --version
pip 21.1.2 from /usr/local/lib/python3.9/site-packages/pip (python 3.9)
➜ ~ pip3 --version
pip 21.1.2 from /usr/local/lib/python3.9/site-packages/pip (python 3.9)
➜ ~ pip freeze
click==8.0.1
Flask==2.0.1
itsdangerous==2.0.1
Jinja2==3.0.1
MarkupSafe==2.0.1
Werkzeug==2.0.1
➜ ~ where python
python: aliased to /usr/local/bin/python3
/usr/bin/python
➜ ~ where python3
/usr/local/bin/python3
/usr/local/bin/python3
/usr/bin/python3
➜ ~ where pip
pip: aliased to /usr/local/bin/pip3
/usr/local/bin/pip
/usr/local/bin/pip
➜ ~ where pip3
/usr/local/bin/pip3
/usr/local/bin/pip3
/usr/bin/pip3
➜ ~ which pip
pip: aliased to /usr/local/bin/pip3
➜ ~ which pip3
/usr/local/bin/pip3
➜ ~ which python
python: aliased to /usr/local/bin/python3
➜ ~ which python3
/usr/local/bin/python3
➜ ~ which python2
/usr/bin/python2
➜ ~ where flask
/usr/local/bin/flask
/usr/local/bin/flask
➜ ~ which flask
/usr/local/bin/flask
Upvotes: 2
Views: 517
Reputation: 1023
Aside from the fact that Python 2 series is no longer supported, have you checked to see if pip
for Python 2.7 is aliased to pip2
? You appear to be able to still access the 2.7 interpreter with python2
, so another way to run pip is python2 -m pip <command>
.
Upvotes: 1
Reputation: 4856
You should downgrade the pip
package of your Python 2 installation as Pip 21.0 dropped supported for Python 2.
For some reason, the pip
command on your system refers to the Python 3 installation. One would think there'd be two commands, pip2
and pip3
, just as for the Python interpreter.
Therefore, run the following command to downgrade Pip for Python 2 to the last supported version:
python2 -m pip install "pip<21.0"
Here pip
is called "as a module" via python2
. This makes sure it uses the Pip package manager of the Python 2 installation, and not the (separate) one for Python 3.
Upvotes: 1