我想要我的tests folder separate到我的申请代码.我的项目 struct 是这样的
myproject/
myproject/
我的项目.py
moduleone.py
tests/
myproject_测试.py
我的项目.py
from moduleone import ModuleOne
class MyProject(object)
....
myproject_测试.py
from myproject.myproject import MyProject
import pytest
...
因为我使用了命令,所以我使用了myproject.myproject
python -m pytest
从项目根目录./myproject/
然而,这些模块中的导入会失败,并导致
E ModuleNotFoundError:没有名为'moduleone'的模块
我正在运行Python3.7,从3.3开始,就不再需要__init__
个空文件,这意味着我的项目变成了implicit namespace package个
然而,我曾try 在myproject/myproject/
中添加一个__init__.py
文件,也try 在myproject/
中添加一个conftest.py
文件,但两者都不起作用
我有read answers条对mess with the paths条的 comments ,然后在其他问题上的 comments 是not to条.
正确的方法是什么?我错过了什么?
EDIT;
可能与此相关,我使用requirements.txt
安装了使用pip的pytest.这有关系吗?如果是这样,在这种情况下,安装pytest的正确方法是什么?
EDIT 2:
sys.path
中的路径之一是/usr/src/app/
,这是一个docker卷,排成/my/local/path/myproject/
行.
音量应该改为/my/local/path/myproject/myproject/
吗?