Skip to content

Issue warning when the we can't find a valid standard library during path initialization #145273

@FFY00

Description

@FFY00

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    interpreter-core(Objects, Python, Grammar, and Parser dirs)type-featureA feature request or enhancement

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions