Найти - Пользователи
Полная версия: Импорт относительно пакета
Начало » Python для новичков » Импорт относительно пакета
1
WoMax
Привет,
два файла находятся в одной папке game. Пробую сделать импорт относительно пакета, но ничего не получается:

win7, python 3.4

папка Modules - находится в PYTHONPATH

Modules/
game/
__init__.py
best_score.py
zzz.py

В zzz.py находится следующая инструкция:
from . import best_score
print(best_score.best_score)
input()

В итоге получаем ошибку:
SystemError: Parent module '' not loaded, cannot perform relative import.

Где я ошибся?
SoT
А нельзя просто import best_score?
WoMax
Можно и это своидит меня с ума
По Лутцу в python3 импорт по умолчанию должен производистя по абсолютному пути, а для импорта по относительному пути необходимо использовать синтаксис from . import

На практике получается все наоборот, обычный импорт в папке games (которой нету в пути поиска PYTHONPATH) работает, то есть по умолчанию производится импорт по относительному пути.
А при явной инструкции from . import best_score выдает ошибку.

Собственно интересно почему это происходит.
WoMax
Нашел ответ здесь: stackoverflow.com/questions/16637428/relative-import-in-python-3-not-working
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB