在Travis CI中缓存从源构建的依赖项是多么安全

时间:2015-01-13 04:20:22

标签: python qt pyqt virtualenv travis-ci

此问题涉及Travis CI的缓存功能。

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

PySide很简单,因为它可以用pip安装。我只是预制了轮子(他们现在已经保留在github上,但他们不需要,可能会更清洁)

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

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

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

只有PySide,我的测试在一分钟内完成,但PyQt需要大约5分钟才能构建(两个版本的时间为2)。我认为大约10分钟的构建并不是那么糟糕,但它似乎是一种浪费,因为它主要用于依赖。

我可以安全地缓存PyQt& SIP构建目录,然后每次只从它们运行sudo make install?我应该构建.deb文件(可以吗?然后安装到virtualenv?)

1 个答案:

答案 0 :(得分:0)

我认为如果你创建了一个PPQ,并将PyQt5反向移植到Ubuntu 12.04,我们将会受益。

我是这么认为的,因为我来到这里寻找Ubuntu 12.04上的PyQt5。

以下是how to create PPA in Ubuntu的相关问题。