Problem scenario
You run a pip command (e.g., pip --version
), but ou get an error like this:
Traceback (most recent call last):
File "/home/mike/.local/bin/pip", line 7, in
from pip._internal.cli.main import main
File "/home/mike/.local/lib/python3.*/site-packages/pip/_internal/cli/main.py" , line 60
sys.stderr.write(f"ERROR: {exc}")
You no longer want to use Python 2 in on the server. What should you do?
Solution
1.a. Run this command: which pip
1.b. Make a mental note of the location; you will need it later in these directions.
- Back up the result(s) of the above command.
- Delete the file(s) found in step #1.a.
- Run these commands:
sudo apt install python-pip
sudo easy_install pip==20.3.4
- Run this command:
which pip3
- Run this command (but substitute "/path/to/pip3/" with the results of step #5, and replace "/path/to/pip" with the location described in step #1.a):
sudo ln -s /path/to/pip3 /path/to/pip
(These directions were adapted from https://stackoverflow.com/questions/65896334/python-pip-broken-with-sys-stderr-writeferror-exc/66103179#66103179 )