#python #python-3.x
#python #python-3.x
Вопрос:
У меня есть следующие сценарии,
backend/scripts/factories.py
backend/monitor/models.py
scripts/scripts/industry/industry.py
В industry.py У меня есть,
from monitor.models import abc
from scripts.factories import xyz
Сбой с ошибкой,
ModuleNotFoundError: No module named 'scripts.factories'
В то же время monitor.models работает. Это происходит из-за того, что один и тот же путь «скриптов» существует дважды? Если да, как я могу это решить? Пожалуйста, сообщите.
Комментарии:
1. Либо используйте относительный импорт (
from ....backend.scripts.factories import xyz
в данном случае, предполагая, чтоbackend
иscripts
совместно использовать родительский каталог), либо, возможно, попробуйте указать точный файл (возможно, относительноindustry.py
местоположения) с помощью importlib2. @HpLam да, он уже есть.
3. Или вы можете попробовать импортировать полный путь
from backend.scripts.factories import xyz
4. Я предполагаю, что вы не имеете права
sys.path
. Cd в каталог верхнего уровня и запуститеpython -m scripts.scripts.industry.industry
. Это поместит каталог верхнего уровня в path.5. он может видеть скрипты / скрипты как дублирующий путь, поэтому, возможно, измените имя пути