Skip to content

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

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!")'FatalPythonerror: FailedtoimportencodingsmodulePythonruntimestate: coreinitializedExceptionignoredintheinternaltracebackmachinery:
ModuleNotFoundError: Nomodulenamed'traceback'ModuleNotFoundError: Nomodulenamed'encodings'Stack (mostrecentcallfirst):

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: Couldnotfindthestandardlibrarydirectory! ThePython'home'directorywassetto'nonsense', isthiscorrect?
FatalPythonerror: FailedtoimportencodingsmodulePythonruntimestate: coreinitializedExceptionignoredintheinternaltracebackmachinery:
ModuleNotFoundError: Nomodulenamed'traceback'ModuleNotFoundError: Nomodulenamed'encodings'Stack (mostrecentcallfirst):

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