Разве импорт не должен быть абсолютным по умолчанию в python27?

Представьте себе структуру каталогов:

/
    a/
        __init__.py
        b.py
        c.py
    c.py

Файл /a/b.pyвыглядит как:

import c
should_be_absolute = c

Все остальные файлы (, включая__init__)пусты.

При запуске тестового скрипта (с использованием Python 2.7):

import a.b
print a.b.should_be_absolute

с PYTHONPATH=/из пустого каталога (, поэтому ничего не добавляется к PYTHONPATHиз текущего каталога ), я получаю


где согласно PEP 328 и утверждению import <> is always absoluteя ожидал:


Вывод, как и ожидалось, когда я удаляю файл /a/c.py.

Что мне не хватает? И если это правильное поведение -, как импортировать модуль cизb(вместоa.c)?

Обновление:

Согласно списку рассылки python dev , это ошибка в документации. Импорт не абсолютный по умолчанию в python27.

17
задан karolx 23 April 2013 в 22:32
поделиться