Я хочу, чтобы моя папка test отделяла от кода моего приложения.Моя структура проекта выглядит так:
myproject/
myproject/
myproject.py
moduleone.py
tests/
myproject_test.py
myproject.py
from moduleone import ModuleOne
class MyProject(object)
....
myproject_test.py
from myproject.myproject import MyProject
import pytest
...
Я использую myproject.myproject
, так как я использую команду
python -m pytest
из корневого каталога проекта ./myproject/
Однако при импорте в эти модули происходит сбой с
E ModuleNotFoundError: Нет модуля с именем 'moduleone'
Я использую Python 3.7 и прочитал, что с версии 3.3 пустые __init__
файлы больше не нужны, что означает, что мой проект становится неявным пакетом пространства имен
Однако я попытался добавить файл __init__.py
в myproject/myproject/
, а также попытался добавить файл conftest.py
в myproject/
, но ни один из них не работает
У меня есть прочитанные ответы , которые говорят возиться с путями , а затем комментарии с комментариями к другим вопросам, говорящие , а не .
Как правильно и чего мне не хватает?
EDIT;
Возможно, связано, я использовал requirements.txt
для установки pytest с использованием pip.Может ли это быть связано?И если да, то как правильно установить Pytest в этом случае?
EDIT 2:
Один из путей в sys.path
- это /usr/src/app/
, которыйтом докера настроен на /my/local/path/myproject/
.
должен ли том быть /my/local/path/myproject/myproject/
вместо этого?