有什么方法可以告诉pip在不需要时跳过一些setup_requires依赖项吗?
在我的场景中,我在setup.py中将pytest-runner声明为安装依赖项(用于执行测试)。当我尝试安装我的软件包时(即:pip install my-package.tar.gz),它将下载pytest-runner,否则将无法使用(*)。
在setup.py中,我有:
...
setup_requires=['pytest-runner', 'flake8']
...
我想告诉setup.py仅在执行测试时才使用pytest-runner。那可能吗?
正如@deceze所建议的,此声明将起作用:
setup_requires=['pytest-runner', 'flake8'] if 'test' in sys.argv else []
但是我不想在setup.py中添加逻辑。
(*)环境非常受限,因此下载依赖项是一个障碍。
rwt(运行此文件)似乎是执行此操作的首选方法。
它提供按需依赖关系解析,使程序包在解释器会话期间可用。它的目标方案之一是:测试跑步者。
安装rwt(*)之后,可以从pytest-runner模块加载setup.py命令,执行:
rwt pytest-runner -- setup.py test
要么
python -m rwt pytest-runner -- setup.py test
(*)您仍然必须安装不需要的依赖项(即rwt),但它似乎比安装其他依赖项的影响要小。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句