Не удалось импортировать файл как модуль в python 3.7 - PullRequest
0 голосов
/ 27 апреля 2020
python -V
Python 3.7.6

which python
python: aliased to python3.7

which python3.7
/path/to/virtualenvfolder/bin/python3.7

Структура папок

src
 |-- __init__.py
 |-- migrations
     |-- env.py

env.py

from config import DB, DB_HOST, DB_USER, DB_PASS, DB_PORT, DB_DRIVER

Ошибка

File "src/migrations/env.py", line 13, in <module>
    from config import DB, DB_HOST, DB_USER, DB_PASS, DB_PORT, DB_DRIVER
ModuleNotFoundError: No module named 'config' 

, но если изменить на

from src.config import DB, DB_HOST, DB_USER, DB_PASS, DB_PORT, DB_DRIVER

вместо

from config import DB, DB_HOST, DB_USER, DB_PASS, DB_PORT, DB_DRIVER

Работает.

1 Ответ

0 голосов
/ 27 апреля 2020

Это потому, что вы пытаетесь импортировать конфигурацию, как если бы она находилась на том же уровне пакета, что и env.py.

Вы должны использовать from src.config import или from ..config import, потому что python нужно знать где искать его путь для config.py

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