Таинственная ошибка «ModuleNotFoundError: нет модуля с именем« xxx »» - PullRequest
0 голосов
/ 03 апреля 2020

В моей программе Python 3.7 у меня есть два идентичных модуля, за исключением их названий. Я импортирую одинаковую переменную из каждого. Первый оператор импорта работает отлично, второй - нет. Я попробовал все приемы и хитрости c, чтобы выяснить, почему.

Моя структура проекта выглядит следующим образом:

.
|-module_a
| |-__init__.py
| |-test.py
|
|-module_b
| |-__init__.py
| |-test.py
|
|-__init__.py
|-main.py

Все файлы __init__.py пусты. Оба test.py файла содержат одну переменную x = 123.

main.py выглядит следующим образом:

from module_a.test import x as x_a
from module_b.test import x as x_b

print(f"A:{x_a}, B:{x_b}")

Это приводит к ошибке:

File "./main.py", line 2, in <module>
    from module_b.test import x as x_b
ModuleNotFoundError: No module named 'module_b.test'

I проверил, что "." на самом деле на пути, напечатав sys.path и глядя на вывод.

Может кто-нибудь помочь мне определить, что происходит?

...