有没有什么办法可以告诉pip在不需要时跳过一些setup_requires依赖关系?有条件的setup需要setup.py中的依赖关系
在我的场景中,我在我的setup.py中声明了pytest-runner作为安装依赖项(用于执行测试)。当我尝试安装我的软件包(I.e:pip install my-package.tar.gz)时,它会下载pytest-runner,否则它将无法使用(*)。
在setup.py我:
...
setup_requires=['pytest-runner', 'flake8']
...
我想告诉setup.py只执行测试时只使用pytest亚军。那可能吗?
由于@deceze建议,这个声明将工作:
setup_requires=['pytest-runner', 'flake8'] if 'test' in sys.argv else []
但我不希望添加逻辑的setup.py。
(*)环境非常有限,这就是为什么下载依赖项成为障碍。
将它们声明为* extra *将不起作用,因为执行** python setup.py test **时它们将不可用,而且我不想在本地安装它们。检查环境绝对是一种选择,我希望不是唯一的选择。 –