我对Quamash的测试依赖于{3.4}的PySide(或最终的PyQt),所以我想知道如何在Travis上安装此依赖项,以便它可用于测试
我知道我可以通过pip从源代码安装PySide,但这是一个非常缓慢的过程。
如果我需要提供更多信息,请告诉我。
答案 0 :(得分:11)
目前无法通过apt-get进行安装。请参阅github issue和travis docs。
其他三个选项。
您的.travis.yml
将包含:
install:
- pip install PySide
正如您所提到的,在travis-ci服务器上从源代码构建PySide需要很长时间。但是,这种方法可以保证有效。
Issue。 Python3.4包含在Ubuntu 14.04中。然后,您的.travis.yml
可能如下所示:
install:
- sudo apt-get install python3-pyside
您可以构建自己的PySide wheel,因此使用Python3.4构建Travis-CI不必从源代码构建PySide。
在instructions之后,我通过以下方式构建了一个PySide轮。
$ git clone https://github.com/PySide/pyside-setup.git pyside-setup
$ cd pyside-setup
$ python3.4 setup.py bdist_wheel --qmake=/usr/bin/qmake-qt4 --version=1.2.2
然后你可以在某个地方托管这个轮子,然后使用travis访问它:
install:
- sudo apt-get install libqt4-dev
- pip install PySide --no-index --find-links https://<your-site>;
# Travis CI servers use virtualenvs, so we need to finish the install by the following
- python ~/virtualenv/python${TRAVIS_PYTHON_VERSION}/bin/pyside_postinstall.py -install
其中<your-site>
是一个网页,其中包含指向名为PySideXXXXXXX.whl
的轮子的链接,其中包含正确的naming convention。使用--no-index
阻止pip从pypi查找并安装较新的PySide。
请参阅source。
轮子托管在仓库gh-pages。
在我的机器上注意Ubuntu 14.04,构建轮子创建了大约17 MB的文件dist/PySide-1.2.2-cp34-cp34m-linux_x86_64.whl
。当我在构建步骤中包含--standalone
标记时,文件大约为77 MB。
请注意,到目前为止,只有import PySide
已经过测试。由于这是在Ubuntu 14.04和运行Ubuntu 12.04的Travis-Ci服务器下构建的,我不知道PySide库的功能如何。如果遇到问题,可能需要在运行Ubuntu 12.04的计算机上重做。
更新
以下python脚本
import PySide
from PySide import QtGui
当PySide轮在Ubuntu 14.04上构建时,fails。见the failure。但是,当PySide构建在Ubuntu 12.04上时,它会成功,请参阅the success。
在.travis.yml文件中,包含以下内容:
install:
- sudo apt-get install libqt4-dev
- pip install PySide --no-index --find-links https://parkin.github.io/python-wheelhouse/;
# Travis CI servers use virtualenvs, so we need to finish the install by the following
- python ~/virtualenv/python${TRAVIS_PYTHON_VERSION}/bin/pyside_postinstall.py -install
答案 1 :(得分:0)
一个好的解决方案是使用Travis的caching feature来缓存构建中的轮子。
添加
language: python
cache: pip
到.travis.yml
缓存$HOME/.cache/pip
。因此,PySide轮将构建一次,并在应用程序的重建过程中持续存在。