如何处理python可选要求?

时间:2016-05-02 07:10:10

标签: python pip

在我维护的多个python包上,我有很多可选的要求,但我仍然想尝试在开发环境中安装所有这些。

仍然,由于某些原因,某些情况下的安装可能会失败,我想忽略这一点,因为我没有看到可选要求的安装是可以或应该由当前项目的维护者修复的东西。 / p>

我知道我可以像requirements.txt一样使用optionalpackage ; sys.platform == 'win32'内的条件,但这仍然无法解决软件包无法安装的问题。

为了使问题更严重,似乎pip在遇到第一个无法安装的软件包时会破坏安装,这意味着我必须将每个可选需求放在不同的文件中并尝试单独安装它。 / p>

更新

要清楚,这个问题不是关于如何在模块代码中处理这些要求,这是容易的部分。

问题是建筑,测试(包括Travis)和包装。从CI的角度来看,如果可能的话,我想测试包含所有可选包的包(如果安装失败,请尝试但不会使测试失败)

1 个答案:

答案 0 :(得分:0)

我建议使用包tox-travis将tox与travis结合使用。然后,您可以使用Travis中的extras testenv设置。