Относительный импорт Python вызывает исключение SyntaxError

СогласноPython Docsотносительный импорт и внутрипакетные ссылки поддерживаются начиная с Python 2.5. В настоящее время я использую Python 2.7.3. Итак, я попытался реализовать это в своем собственном пакете, чтобы использовать его для упрощения импорта. Я был удивлен, обнаружив, что это вызвало исключение SyntaxError, и я надеялся, что кто-то может помочь найти путь к делу.

Я устанавливаю тестовый каталог для тестирования:

tester
├── __init__.py
├── first_level.py
└── sub
    ├── __init__.py
    └── second_level.py

Оба модуля __init__.py пусты. Другие модули:

# first_level.py
print "This is the first level of the package"
# sub/second_level.py
import ..first_level
print "This is the second level"

Когда я пытаюсь импортировать модуль second_level, я получаю следующую ошибку:

Python 2.7.3 (default, Aug  1 2012, 14:42:42) 
[GCC 4.2.1 Compatible Apple Clang 4.0 ((tags/Apple/clang-421.0.57))] on darwin
Type "help", "copyright", "credits" or "license" for more information.
Welcome!
>>> import tester
>>> import tester.sub.second_level
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "tester/sub/second_level.py", line 1
    import ..first_level
           ^
SyntaxError: invalid syntax

Я ожидал, что две строки будут печататься одна за другой, но вместо этого возникает исключение. Итак, я делаю импорт неправильно? У тебя есть другие идеи.

Ответы на вопрос(2)

Ваш ответ на вопрос