繁体   English   中英

如何在Travis上安装PySide?

[英]How can I install PySide on Travis?

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

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

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

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

其他三个选择。

只需使用pip

您的.travis.yml将包括:

install:
  - pip install PySide

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

等待Travis CI更新到Ubuntu 14.04

问题 Python3.4包含在Ubuntu 14.04中。 然后,您的.travis.yml可能如下所示:

install:
    - sudo apt-get install python3-pyside

建立自己的车轮

您可以构建自己的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

然后,您可以在某处托管此轮,并使用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的轮子的链接,其中包含正确的命名约定 使用--no-index来阻止pip从pypi中查找和安装更新的PySide。

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

查看来源

轮子托管在repo的gh页面上

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

请注意, import PySide ,只测试了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上构建时失败 看到失败 但是,当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

一个好的解决方案是使用Travis的缓存功能来缓存构建中的轮子。

添加

language: python
cache: pip

到你的.travis.yml缓存$HOME/.cache/pip 因此,PySide轮将构建一次,并在应用程序的重建过程中持续存在。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM