Импортировать модуль из родительского каталога - PullRequest
0 голосов
/ 20 декабря 2018

Посмотрите на мою файловую структуру:

main/
    main.py
    __init__.py

    mysql/
        read.py
        __init__.py

    conf/
        mysql.py
        loc.py
        __init__.py

conf/mysql.py содержит информацию о сервере mysql (порт, имя хоста и т. Д.)

read.py isиспользуется для получения и считывания значения из базы данных MySQL путем подключения к серверу, указанному в conf/mysql.py.

. Я хотел добиться того, чтобы read.py import conf/mysql.py, поэтому я попытался:

from conf import mysql
import main.conf.mysql

Они оба не работают.Это дает мне ImportError: No Module Name 'main' и ImportError: No Module Named 'conf', импорт conf/mysql.py работает только в main.py

Я знаю, что добавление к sys.path будет работать, но по некоторым причинам я не хочу этого делать.

Есть какие-нибудь решения для решения этой проблемы?Заранее спасибо и извините за этот сложный вопрос.

1 Ответ

0 голосов
/ 20 декабря 2018

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

from conf import mysql

или с относительным импортом , выможно сделать:

from ..conf import mysql
...