[New-bugs-announce] [issue33340] Inaccurate docs on `import` behaviour

sam_b report at bugs.python.org
Mon Apr 23 05:51:36 EDT 2018

New submission from sam_b <sam at 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():
➜  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()
>>> 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 at python
components: Documentation
messages: 315653
nosy: docs at python, sam_b
priority: normal
severity: normal
status: open
title: Inaccurate docs on `import` behaviour
type: behavior
versions: Python 3.6

Python tracker <report at bugs.python.org>

More information about the New-bugs-announce mailing list