Opened 3 years ago

Last modified 3 years ago

#65047 new defect

Remove suggestion to link `python` to `python3x`

Reported by: jlargentaye (John de Largentaye) Owned by:
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc:
Port: python33, python34, python35, python36, python37, python38, python39, python310, python311-devel

Description

The notes for Python3.x package should not suggest setting a Python3.x as the link for the python executable, because python was historically the incompatible Python2.x, and replacing it with Python3.x causes problems.

i.e in the following:

notes "
To make this the default Python or Python 3 (i.e., the version run by\
the 'python' or 'python3' commands), run one or both of:

    sudo port select --set python $pythonNoDot
    sudo port select --set python3 $pythonNoDot
"

The first sudo port select --set python $pythonNoDot should be removed.

I've had to fix this for a couple people who blindly followed the recommendation without understanding the consequences.

Of course this requests follows years of debate on the topic of what python should be, such as https://peps.python.org/pep-0394/ (2011), revisited in https://lwn.net/Articles/780737/ (2019) TL;DR: python should be deprecated as it causes confusion.

Change History (1)

comment:1 Changed 3 years ago by jlargentaye (John de Largentaye)

who blindly followed the recommendation without understanding the consequences

To elaborate: this breaks legacy scripts that hashbang-invoked python, expecting it to be Python2.7, and then fail with predictable (but to the layperson, inscrutable) syntax errors.

Note: See TracTickets for help on using tickets.