如何在Travis上安装PySide?

akn*_*ds1 6 python qt pyside travis-ci python-3.4

我对Quamash的测试依赖于Python 3.4的PySide(或最终的PyQt),所以我想知道如何在Travis上安装这种依赖,以便它可以用于测试?

我知道我可以通过pip从源代码安装PySide,但这是一个非常缓慢的过程.

如果我需要提供更多信息,请告诉我.

wel*_*ell 11

目前无法通过apt-get进行安装.请参阅github问题travis文档.

其他三个选择.

只需使用pip

您的.travis.yml意愿包括:

install:
  - pip install PySide
Run Code Online (Sandbox Code Playgroud)

正如您所提到的,在travis-ci服务器上从源代码构建PySide需要很长时间.但是,这种方法可以保证正常工作.

等待Travis CI更新到Ubuntu 14.04

问题.Python3.4包含在Ubuntu 14.04中.然后,你.travis.yml可能看起来像:

install:
    - sudo apt-get install python3-pyside
Run Code Online (Sandbox Code Playgroud)

建立自己的车轮

您可以构建自己的PySide 轮,因此使用Python3.4构建的Travis-CI不必从源代码构建PySide.

按照这些说明,我通过以下方式构建了一个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
Run Code Online (Sandbox Code Playgroud)

然后,您可以在某处托管此轮,并使用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
Run Code Online (Sandbox Code Playgroud)

哪个<your-site>是包含指向轮子的链接的网页,其中包含PySideXXXXXXX.whl正确的命名约定.使用--no-index防止PIP从寻找和安装新PySide 的PyPI.

我继续尝试这个,基本用法工作!

查看来源.

轮子托管在repo的gh页面上.

在我的机器上注意Ubuntu 14.04,构建轮子创建了dist/PySide-1.2.2-cp34-cp34m-linux_x86_64.whl大约17 MB 的文件.当我--standalone在构建步骤中包含标记时,文件大约为77 MB.

请注意,import PySide到目前为止,只有经过测试.由于这是在Ubuntu 14.04和运行Ubuntu 12.04的Travis-Ci服务器下构建的,我不知道PySide库的功能如何.如果遇到问题,可能需要在运行Ubuntu 12.04的计算机上重做此问题.

更新:

以下python脚本

import PySide
from PySide import QtGui
Run Code Online (Sandbox Code Playgroud)

当PySide轮在Ubuntu 14.04上构建时失败.看到失败.但是,当PySide构建在Ubuntu 12.04上时,它取得了成功.

使用我的PySide轮

在.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
Run Code Online (Sandbox Code Playgroud)