ModuleNotFoundError выбрасывается при запуске app.py с интерпретатором Python, но работа фляги работает гладко - PullRequest
0 голосов
/ 10 мая 2019

У меня есть пакет со следующей иерархией:

- main package

    -utils package

          - this package's __init __.py (empty)

          - some other modules

    - app.py
    - __ init __.py (empty)

app.py вызывает функции из модулей в утилитах как:

from main.utils.module import function_name

Теперь, когда я запускаю это в IDE, все идет хорошо. Кстати, используйте PyCharm, если эта информация поможет.

Когда я запускаю app.py в терминале, используя python3 app.py, он выдает ошибку ModuleNotFound: No module named main.

Однако, когда я делаю простой flask run в терминале, это, кажется, работает нормально.

У меня есть дополнительная цель: мне нужно докеризировать это приложение. Что я должен указать в поле CMD или ENTRYPOINT? Очень плохо знаком с Докером.

1 Ответ

0 голосов
/ 10 мая 2019

Хорошо, это была очень глупая ошибка.

Просто изменение from main.utils.module import function на from utils.main.module сработало.

Я думаю, это потому, что весь каталог не входит в область app.py? Если кто-то может объяснить это поведение лучше, пожалуйста, оставьте ответ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...