Ubuntu Support Template
Ubuntu Version:
Kubuntu 26.04
Desktop Environment (if applicable):
KDE Plasma
Problem Description:
Having recently installed upgraded to Kubuntu 26.04, I am bewildered that things I have known since I was a unix babe, my mother’s milk, so to speak, no longer appear valid. Specifically, that the which command tells you the location from which a command line will be run. And that symbolic links will be followed.
Consider the following sequence:
scohen@aigas:/usr/bin$ ll python*
lrwxrwxrwx 1 root root 19 Aug 19 10:15 python@ -> /usr/bin/python3.14
-rwxr-xr-x 1 root root 264 Nov 10 2025 python-argcomplete-check-easy-install-script*
lrwxrwxrwx 1 root root 10 Mar 21 02:46 python3@ -> python3.14
lrwxrwxrwx 1 root root 17 Mar 21 02:46 python3-config@ -> python3.14-config
-rwxr-xr-x 1 root root 8020928 Jun 19 05:46 python3.12*
lrwxrwxrwx 1 root root 34 Jun 19 05:46 python3.12-config@ -> x86_64-linux-gnu-python3.12-config
-rwxr-xr-x 1 root root 7481192 Jun 18 07:25 python3.14*
lrwxrwxrwx 1 root root 34 Jun 18 07:25 python3.14-config@ -> x86_64-linux-gnu-python3.14-config
scohen@aigas:/usr/bin$ which python
/usr/bin/python
scohen@aigas:/usr/bin$ python --version
Python 3.12.3
scohen@aigas:/usr/bin$ /usr/bin/python --version
Python 3.14.4
We see here that /usr/bin/python is a symbolic link to /usr/bin/python/3.14 and that which python returns /usr/bin/python as the executable to be run when python is typed.
However, executing python --version returns “Python 3.12.3” but
executing /usr/bin/python --version returns “Python 3.14.4”.
The only way I can make sense out of this is if something on my path ahead of
/usr/bin were pointing to another copy of python on my system.
But I looked at my path and no such python can be found in any of these path directories before the path gets to /usr/bin:
scohen@aigas:/usr/bin$ echo $PATH
/home/scohen/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
scohen@aigas:/usr/bin$ find -L /home/scohen/.local/bin -type f -name python
scohen@aigas:/usr/bin$ find -L /usr/local/sbin -type f -name python
scohen@aigas:/usr/bin$ find -L /usr/local/bin -type f -name python
scohen@aigas:/usr/bin$ find -L /usr/sbin -type f -name python
scohen@aigas:/usr/bin$ find -L /usr/bin -type f -name python
find: File system loop detected; ‘/usr/bin/X11’ is part of the same file system loop as ‘/usr/bin’.
/usr/bin/python
So the python I expected to be launched (/usr/bin/python) is the first python along the path.
I don’t know what a “file system loop” is, but could that be the problem here?
It doesn’t seem to be, because the /usr/bin/X11/python points to the 3.14 version:
lrwxrwxrwx 1 root root 19 Aug 19 10:15 python@ -> /usr/bin/python3.14
I just want python to bring up the same version everywhere!
But the python command is somehow finding 3.12 and I don’t understand this.
UPDATE: fixed a command line that I had not copied correctly initially. However, the entire thrust of the question remains the same.
Relevant System Information:
nothing pops out at me. This is pure linux question.
Screenshots or Error Messages:
What I’ve Tried:
Tried this. It does not bring me anything that would be on the path before /usr/bin:
scohen@aigas:/usr/bin$ find / -type l -lname "/usr/bin/python3.12" 2>/dev/null
/home/scohen/python/gmail/venv/bin/python
/home/scohen/python/bookmarks-converter/venv/bin/python3.12
/home/scohen/.local/share/SASpro/runtime.old/py312/venv/bin/python3.12
Before Posting: