pip wheel 条件依赖

7 投票
1 回答
1112 浏览
提问于 2025-04-18 10:01

在为开发一个Python包创建虚拟环境时,我通常会使用“pip wheel .”这个命令来生成这个包所需的所有轮子文件(wheel archives)。

我开始使用条件依赖,也就是在setuptools的extras_require参数中列出这些依赖。请问,有没有办法生成某个特定条件依赖的轮子文件呢?

像这样:pip wheel ".[conditional_feature]" 是不支持的。(至少在python-2.7上是这样)

需要注意的是,我可以通过这个命令在虚拟环境中安装这些依赖:pip install -e ".[conditional_feature]"

1 个回答

3

你可以看看我的 回答这个脚本,它们能帮助你用不同的方法来实现这个目标,使用多个需求文件和条件来选择使用哪个。

更新

还要注意的是,最新版本(2017年)的pypa三件套(pip、setuptools、wheel)现在可以直接使用条件需求了。这里有一个例子,使用extra_requires来在不同的操作系统上安装 不同版本的lxml

extras_require={
        ':platform_system == "Windows"': ['lxml == 3.6.0'],
        ':platform_system == "Linux"': ['lxml == 3.6.4'],
        ':platform_system == "Darwin"': ['lxml == 3.6.4'],

},

当然,你可以做的事情远不止这些,还可以使用更复杂的表达式。

撰写回答