У меня проблемы с доступом к python модулям в разных каталогах ..
Мой текущий каталог выглядит примерно так:
__main__.py
__test__.py
tests
some_tests.py
_init__.py
modules
main_modules.py
__init__.py
, где в some_tests.py я буду вызывать некоторые методы из / modules, с test .py, выполняющим мои модули тестирования в / tests
Я использую ниже в some_tests.py для ссылки на модули в / modules
sys.path.append(r'../modules/')
from main_modules import xfunc, yfunc
это прекрасно работает, если я просто запускаю some_tests.py в изоляции. Но как только я использую test .py для вызова some_tests.py, я возвращаю ImportError, где модули из / modules не могут быть найдены, когда этот скрипт вызывает some_tests.py
Я попытался импортировать модули непосредственно в test .py, но это также не работает. Что я здесь не так делаю?
РЕДАКТИРОВАТЬ
в some_tests.py Я делаю что-то вроде
sys.path.append(r'../modules/')
from main_modules import modulea, moduleb
def func():
x = modulea.xfunc()
return x
, но это то, что я получаю в runtime ..
File "__test__.py", line 14, in <module>
from tests import some_test.py
File "C:\...\__init__.py", line 2, in <module>
from .some_test.py import (func,
File "C:\...\some_test.py", line 7, in <module>
from modules import modulea, moduleb
ModuleNotFoundError: No module named modulea
Из того, что я могу собрать во время выполнения, когда я запускаю test .py и он выполняет импорт строго этой функции, функция не может быть импортирована, потому что она больше не работает через sys.path.append, поэтому не знает, где искать. Это все еще так, даже если я импортирую модуль в test .py явно