Я создал пакет, для удобства использования я называю его packageA.ImportError: невозможно импортировать модуль - только один модуль не может быть импортирован из пакета
В этом пакете у меня есть 4 подмодулей в (отдельные файлы) и файл инициализации, поэтому пакет содержит следующие файлы:
__init__.py
- moduleA.py
- moduleB.py
- moduleC.py
- moduleD.py
Модуль B-D автономный, они не импортируют какой-либо другой локальный модуль. Модуль A импортирует модуль B-D.
Теперь у меня есть сценарий, который хочет импортировать packageA
, init.py до сих пор пуст.
import packageA
работает без проблем. Но moduleA не доступен из этого импорта. Если я хочу использовать его через packageA.moduleA он поднимает эту ошибку:
AttributeError: 'module' object has no attribute
Следующая также работает без проблем:
from packageA import moduleB
from packageA import moduleC
from packageA import moduleD
И следующий ИМПОРТ вызывает ImportError:
from packageA import moduleA
вызывает эту ошибку:
Traceback (most recent call last):
File "run.py", line 19, in <module>
from packageA import moduleA
ImportError: cannot import name moduleA
Я думал, что, возможно, я делаю неправильно в модуле А, но даже если moduleA пуст, импорт вызывает ту же ошибку. Похоже, что этот модуль не может быть каким-то образом импортирован. Как это возможно?
У меня есть тестовые файлы для отдельных модулей для всех модулей python, и да, модульA работает правильно, без ошибок.
, если вы находитесь внутри, пакет, вам нужно сделать 'импорт packageB' – Surya
вы можете поместить правильный порядок, в котором импорт делается и полная трассировка. –
после импорта пакетаA, можете ли вы использовать moduleA с помощью packageA.moduleA –