Hi Ivan, On Mon, Jan 25, 2021 at 4:53 PM Ivan Pozdeev via Python-Dev <python-dev@python.org> wrote: > Just _names_? There's a recurring error case when a 3rd-party module > overrides a standard one if it happens to have the same name. If you > filter such a module out, you're shooting yourself in the foot...
Overriding stdlib modules has been discussed in the issue. For example, it was proposed to add an attribute to all stdlib modules (__stdlib__=True or __author__ = 'PSF'), and then check if the attribute exists or not. The problem is that importing a module to check for its attribute cause side effect or fail, and so cannot be used for some use cases. For example, it would be a surprising to open a web browser window when running isort on a Python code containing "import antigravity". Another problem is that third party can also add the attribute to pretend that their code is part of the stdlib. In a previous version of my PR, I added a note about sys.path and overriding stdlib modules, but I have been asked to remove it. Feel free to propose a PR to add such note if you consider that it's related to sys.module_names. Please read the discussion at https://bugs.python.org/issue42955 and https://github.com/python/cpython/pull/24238 Victor _______________________________________________ Python-Dev mailing list -- python-dev@python.org To unsubscribe send an email to python-dev-le...@python.org https://mail.python.org/mailman3/lists/python-dev.python.org/ Message archived at https://mail.python.org/archives/list/python-dev@python.org/message/7HMWTGBECAVLINLO3MAEN74YVDHOMZKM/ Code of Conduct: http://python.org/psf/codeofconduct/