I did not expect pip to tell me to upgrade pip just after pip upgraded pip. And I did not expect pip to give me instructions that didn’t work.
What is this?
- Expected outcome.
- Bug in 3.14.0rc1. (Let’s tell the devs.)
- Bug in pip 25.1.1. (Let’s tell the devs.)
- PEBCAK. (Let’s keep it a secret.)
Note well:
- For 35 years, I have been cursing at a cmd prompt, and for 26 years, I have refused to ~$:.
- I’m not a programmer.
Environment:
hunte@duda:~$ uname -a
Linux duda 5.15.146.1-microsoft-standard-WSL2 #1 SMP Thu Jan 11 04:09:03 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
# Whatever my prior command was fell out of the terminal buffer.
...
The necessary bits to build these optional modules were not found:
_zstd
To find the necessary bits, look in configure.ac and config.log.
Checked 114 modules (36 built-in, 76 shared, 1 n/a on linux-x86_64, 0 disabled, 1 missing, 0 failed on import)
make[1]: Leaving directory '/opt/python/3.14.0rc1-gil'
hunte@duda:/opt/python/3.14.0rc1-gil$ sudo make altinstall
...
Looking in links: /tmp/tmp3ojkx_we
Processing /tmp/tmp3ojkx_we/pip-25.1.1-py3-none-any.whl
Installing collected packages: pip
Successfully installed pip-25.1.1
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager, possibly rendering your system unusable. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv. Use the --root-user-action option if you know what you are doing and want to suppress this warning.
hunte@duda:/opt/python/3.14.0rc1-gil$ python -V
Python 3.13.5
hunte@duda:/opt/python/3.14.0rc1-gil$ /opt/python/3.14.0rc1-gil/python -V
Python 3.14.0rc1
hunte@duda:/opt/python/3.14.0rc1-gil$ pip --version
pip 24.0 from /usr/lib/python3/dist-packages/pip (python 3.12)
hunte@duda:/opt/python/3.14.0rc1-gil$ /opt/python/3.14.0rc1-gil/pip --version
-bash: /opt/python/3.14.0rc1-gil/pip: No such file or directory
hunte@duda:/opt/python/3.14.0rc1-gil$ ls
Android Lib Modules Python config.guess iOS pyconfig.h
Doc Mac Objects README.rst config.log install-sh pyconfig.h.in
Grammar Makefile PC Tools config.status libpython3.14.a python
Include Makefile.pre PCbuild _bootstrap_python config.sub platform python-config
InternalDocs Makefile.pre.in Parser aclocal.m4 configure profile-run-stamp python-config.py
LICENSE Misc Programs build configure.ac pybuilddir.txt python-gdb.py
hunte@duda:/opt/python/3.14.0rc1-gil$ /opt/python/3.14.0rc1-gil/python -m pip --version
pip 25.1.1 from /usr/local/lib/python3.14/site-packages/pip (python 3.14)
hunte@duda:/opt/python/3.14.0rc1-gil$ /opt/python/3.14.0rc1-gil/python -m pip install -U pip
Defaulting to user installation because normal site-packages is not writeable
Requirement already satisfied: pip in /usr/local/lib/python3.14/site-packages (25.1.1)
Collecting pip
Downloading pip-25.2-py3-none-any.whl.metadata (4.7 kB)
Downloading pip-25.2-py3-none-any.whl (1.8 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.8/1.8 MB 2.9 MB/s eta 0:00:00
Installing collected packages: pip
WARNING: The scripts pip, pip3 and pip3.14 are installed in '/home/hunte/.local/bin' which is not on PATH.
Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
Successfully installed pip-25.2
[notice] A new release of pip is available: 25.1.1 -> 25.2
[notice] To update, run: pip3.14 install --upgrade pip
hunte@duda:/opt/python/3.14.0rc1-gil$ /opt/python/3.14.0rc1-gil/python -m pip --version
pip 25.2 from /home/hunte/.local/lib/python3.14/site-packages/pip (python 3.14)
hunte@duda:/opt/python/3.14.0rc1-gil$ pip3.14 install --upgrade pip
Defaulting to user installation because normal site-packages is not writeable
Requirement already satisfied: pip in /usr/local/lib/python3.14t/site-packages (25.1.1)
Collecting pip
Using cached pip-25.2-py3-none-any.whl.metadata (4.7 kB)
Using cached pip-25.2-py3-none-any.whl (1.8 MB)
Installing collected packages: pip
WARNING: The scripts pip, pip3 and pip3.14 are installed in '/home/hunte/.local/bin' which is not on PATH.
Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
Successfully installed pip-25.2
[notice] A new release of pip is available: 25.1.1 -> 25.2
[notice] To update, run: pip3.14 install --upgrade pip
- I like that the Linux install seems to attempt to upgrade pip during the installation. (
Installing collected packages: pip // Successfully installed pip-25.1.1
) - (I struggled to figure out the WWWWH of pip.)
- I used my Windows Python knowledge to upgrade pip somewhere. (
hunte@duda:/opt/python/3.14.0rc1-gil$ /opt/python/3.14.0rc1-gil/python -m pip install -U pip
) - The interpreter told me I am a good boy, “Successfully installed pip-25.2”, and then told me I didn’t do what it had just told me that I had done, “A new release of pip is available: 25.1.1 → 25.2”.
- So I followed the instructions, which are not quite the same as in Windows,
hunte@duda:/opt/python/3.14.0rc1-gil$ pip3.14 install --upgrade pip
, but it still didn’t work.