在 Travis CI 中缓存从源代码构建的依赖项的安全性如何



这个问题与Travis CI的缓存功能有关。

我的项目(quamash)有一些非常奇怪的依赖项。它需要在 Python 3.3 和 Python 3.4 上使用 PyQt5 测试一次,使用 PyQt4 测试一次,才能真正测试所有代码。(我还需要在 *nix 平台和 Windows 平台上进行测试,因为每个平台都使用不同的 asyncio 后端,但这并不真正相关。

PySide很容易,因为它可以用pip安装。我只有预先构建的轮子(它们现在保存在 github 上,但它们不需要,可能更干净)

我可以获得Qt4(来自精确)和Qt5(来自ppa)的二进制包。精确的 PyQt4 (python3-qt4) 包适用于 python 3.2,因此毫无价值。PyQt5 完全不可用。

无论如何,安装全局包然后使用它都很难。

PyQt4/5 在 SIP 中有一个共同的依赖关系,SIP 是一个用于C++的 Python 绑定生成器。(这3个都是由河岸计算开发的)

仅使用 PySide,我的测试在一分钟内完成,但 PyQt 需要 ~5 分钟才能构建(两个版本都需要 2 倍)。我想 ~10 分钟的构建还不错,但它似乎是一种浪费,因为它主要花在依赖项上。

我可以安全地缓存 PyQt 和 SIP 构建目录,然后每次都从它们运行sudo make install吗?我应该构建一个.deb文件吗(我可以吗?然后安装到虚拟环境?)

我认为如果你创建一个将 PyQt5 向后移植到 Ubuntu 12.04 的 PPA,我们都会受益。

我想是的,因为我来这里是为了寻找 Ubuntu 12.04 上的 PyQt5。

这里有一个关于如何在 Ubuntu 中创建 PPA 的相关问题。

最新更新