我具有以下项目结构
- src
- main.py
- foo
- ...
- test
- test_foo
- ...
- Pipfile
- setup.cfg
如果运行pipenv run pytest test
,则会出现导入错误,因为test文件夹在src文件夹之外,因此我无法正确导入文件。
是否可以将src文件夹标记为我的“源”文件夹?
我找到了一种解决方案,但我不知道是否有更好的解决方案。
我在我定义的地方添加了一个setup.py
文件,我的src文件夹应该是我的“源”文件夹。
from setuptools import find_packages, setup
setup(
name="data_generation",
package_dir={'': 'src'},
packages=find_packages(where='src'),
)
要安装我已经运行的所有文件pipenv install -e . --dev
。仅在第一次时需要这样做,然后更新Pipfile
,我们可以运行pipenv install --dev
。
现在我们可以运行pipenv runp pytest test
,并且不再出现任何导入错误。