FFY00 · GitHub

Feature or enhancement

Proposal:

Currently, if we don't find the standard library, we fail with an obscure message.

$ PYTHONHOME=nonsense ./python -c 'print("foo!")'
Fatal Python error: Failed to import encodings module
Python runtime state: core initialized
Exception ignored in the internal traceback machinery:
ModuleNotFoundError: No module named 'traceback'
ModuleNotFoundError: No module named 'encodings'
Stack (most recent call first):

This is a common problem, as can be seen with a quick google search. One of the top results is a nonsense AI slop blogpost.

It is generally caused or a misconfigured Python home directory, either by setting PYTHONHOME, or by broken virtual environments.
It would be helpful to show a warning if we are unable to find a valid standard library during initialization.

WARN: Could not find the standard library directory! The Python 'home' directory was set to 'nonsense', is this correct?
Fatal Python error: Failed to import encodings module
Python runtime state: core initialized
Exception ignored in the internal traceback machinery:
ModuleNotFoundError: No module named 'traceback'
ModuleNotFoundError: No module named 'encodings'
Stack (most recent call first):

Bad ._pth files can also cause this.

Has this already been discussed elsewhere?

No response given

Links to previous discussion of this feature:

No response

Linked PRs

Read the original on github.com ↗