относительный путь не работает даже с __init __. Py

Я знаю, что есть много похожих вопросов о переполнении стека. Но общий ответ, похоже, мне не подходит.

У меня есть такая файловая структура

  proj/
       lib/
          __init__.py
          aa.py
          bb.py
          test/
               __init__.py
               aa_test.py

Я решил, что если я включу код в свой test.py

import lib.aa

или

from lib import aa

, я смогу ссылаться на модули в lib / ] каталог. Но это не сработало.

Итак, я попытался добавить в путь, и он добавляет его правильно:

os.environ["PATH"] += ":%s" % os.path.abspath(os.path.join("..",""))
print os.environ["PATH"]

но даже сейчас, когда я пытаюсь выполнить приведенные выше операторы импорта ... Я продолжаю получать сообщение об ошибке

ImportError: No module named aa

или

ImportError: Importing from non-package <Something...>

Есть ли что-то очевидное? отсутствует?

Есть ли способ проверить, правильно ли я настроил мои файлы __ init __. py , или просмотреть иерархию пакетов?

14
задан Philip 17 October 2018 в 21:03
поделиться