New submission from sam_b <s...@sambrown.eu>: The docs https://docs.python.org/3/tutorial/modules.html#the-module-search-path describe:
> When a module named spam is imported, the interpreter first searches for a > built-in module with that name. If not found, it then searches for a file > named spam.py in a list of directories given by the variable sys.path. > sys.path is initialized from these locations: > - The directory containing the input script (or the current directory when > no file is specified). > - PYTHONPATH (a list of directory names, with the same syntax as the shell > variable PATH). > - The installation-dependent default. However, it seems like "the directory containing the input script" is checked *before* the standard library: ➜ tmp more logging.py def foo(): print('bar') ➜ tmp python Python 2.7.15rc1 (default, Apr 15 2018, 21:51:34) [GCC 7.3.0] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import logging >>> logging.foo() bar >>> logging.WARNING Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: 'module' object has no attribute 'WARNING' >>> Am I misunderstanding the docs? ---------- assignee: docs@python components: Documentation messages: 315653 nosy: docs@python, sam_b priority: normal severity: normal status: open title: Inaccurate docs on `import` behaviour type: behavior versions: Python 3.6 _______________________________________ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue33340> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com