Я использую PyTest, но он, похоже, не может запускать мои операторы импорта.
Мои структуры каталогов:
-[app]
-script1.py
-[tests]
-test1.py
Мой файл test1.py
включает эту строку:
from script1 import my_func
и я получаю ошибку, такую как ModuleNotFoundError: No module named script1
когда я запускаю pytest из командной строки.
Я попытался добавить этот оператор в каталог cd
выше, но он не работал:
import os
os.chdir('..')
Как вы указали. Модуль script1.py находится в [приложении]. Так что это должно быть
from app.script1 import my_func
или если вы хотите импортировать все функции из script.py
import app.script1
и просто вызовите любую функцию
script1.anyfunction()
PYTHONPATH=app/ pytest tests/test1.py
должны работать или (если используется Python 3) добавить пустой файлconftest.py
в корень проекта (вместе сapp
dirs иtests
) и изменить импорт наfrom app.script1 import my_func
;app
затем обрабатывается как неявный пакет пространства имен.