Hacker News new | ask | show | jobs
by noselasd 1163 days ago
That depends on who "you" are. Linux distros these days tend to ship modern python package with a python3 executable, no python executable. Many distros still support a python2 package, some install that as a python exeutable, some as a python2 executable.

iirc. homebrew on OSX installs python as a python3 executable, no python exeutable.

Hopefully no-one should support python v2 in 2023 ?

3 comments

AFAIK, at least Arch symlinks python to be python3

    $ file /usr/bin/python
    /usr/bin/python: symbolic link to python3
I think this is by default, I don't remember doing anything special in my setup. `python2` exists for packages still needing python 2.7 et al.
Arch doing this is what fucked it up for everyone else!
Fedora does the same. Must have been 3 or 4 years ago Python 2 was removed as a dependency from the core system packages and "python" started resolving to a Python 3 release.

I expect this has filtered down to RHEL9 now.

Multiple version are supported with "python2.7", "python3.9" etc. if a version older than the current default is required.

Hah, sorry? If you don't use, you shouldn't be impacted by the decisions Arch does :) Unless I'm missing that you were joking.
There are people who write programs on Arch that use the python3 -> python symlink.

Then when that program is packaged for other distros, you get this error.

Not a huge deal by any means, but the non-standard behavior can add a bit of friction.

Yup. For example, debian based distro users need to install this [1] to make python be python 3.

[1] https://packages.debian.org/bullseye/python-is-python3

Varies by distro. On Gentoo a python binary exists.