条件setup_requires setup.py中的依赖项

贡萨洛·马修(Gonzalo Matheu)

有什么方法可以告诉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中添加逻辑。

(*)环境非常受限,因此下载依赖项是一个障碍。

贡萨洛·马修(Gonzalo Matheu)

rwt(运行此文件)似乎是执行此操作的首选方法。

它提供按需依赖关系解析,使程序包在解释器会话期间可用。它的目标方案之一是:测试跑步者

安装rwt(*)之后,可以从pytest-runner模块加载setup.py命令,执行:

rwt pytest-runner -- setup.py test

要么

python -m rwt pytest-runner -- setup.py test

(*)您仍然必须安装不需要的依赖项(即rwt),但它似乎比安装其他依赖项的影响要小。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

setup_requires似乎没有安装依赖项

setuptools是否应该在Python中的setup.cfg文件的setup_requires条目中?

如何在setup.py中包括rpm依赖项

Pip不会使用install_requires安装在setup.py中声明的依赖项

是否应该在Python的setup_requires中包含setuptools?

setup.py install os依赖项

用Cython进行setup_requires吗?

如何在 setup.py 文件中包含 conda 包依赖项?

我的setup.py在python 3.8.1中安装所有依赖项有什么问题

最佳做法:如何在setup.py中列出所需的依赖项?

将numpy + pandas安装为setup.py中的依赖项

如何使用setup.py和extra_requires指定可选的依赖项?

防止setup.py test / pytest安装额外的依赖项

我如何要求setup.py列出依赖项?

如何使用setup.py仅安装依赖项?

在pypi python setup.py中指定可选依赖项

从私有PyPI定义setup.py依赖项

setup.py找不到预装的依赖项

`python setup.py test` 是否安装依赖项?

setup.py&pip:从requirements.txt覆盖依赖项的子依赖项之一

如何从setup.py中读取pyproject.toml中的项目依赖项,以避免在两个文件中重复信息?

如何在setup.py中指定递归依赖项?

如何编写setup.py以包含git repo作为依赖项

如何编写setup.py以包含Git存储库作为依赖项

为python包创建setup.py文件时如何指定依赖项

使用Python setup.py通过development vs install安装不同的依赖项

setuptools如何在python setup.py test命令上安装测试依赖项

如何编写setup.py以包括特定的git repo作为依赖项

使用setup.py和wheel安装软件包依赖项