0

我希望能够在通过安装“mypackage”时运行测试套件pip

我自己创建了mypackage-version.tar.gz文件,使用python setup.py sdist. mypackage-version.tar.gz确实包含tests/目录(此外,它的.egg-info/SOURCES.txt内部也列出了所有文件tests/)。

但是在我pip install mypackage-version.tar.gz在一个专用的全新虚拟环境中运行之后,虚拟环境tests/中的任何地方都没有目录:

$ find ./myvenv/ -name "*tests*"
./myvenv/lib/python3.6/site-packages/pip/_vendor/webencodings/__pycache__/tests.cpython-36.pyc
./myvenv/lib/python3.6/site-packages/pip/_vendor/webencodings/tests.py

阅读pip文档或 的输出pip install --help,我只是不知道是否有任何方法可以要求pip在其余部分正确安装测试。

我也尝试过tests/手动解压目录(连同pytest.ini),但是测试没有开始,因为pytest抱怨找不到mypackage模块(ModuleNotFoundError: No module named 'mypackage'),即使两者都pytest出现mypackagepip list......并且两者都是来自虚拟环境的(正如which命令所说),以及pippython(可以import mypackage)。

然而手动解包看起来很麻烦,所以在深入研究之前,我想知道正确的方法是什么:使用pip?手动解压?还要别的吗?我错过了一些明显的东西吗?

编辑:最后,我可以使用python -m pytest. 但这仍然是一种解决方法,我仍然想知道是否有更合适(和自动化)的方式来安装和运行测试套件

4

0 回答 0