如何在Travis上安装PySide?

2024-10-05 14:23:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我对Quamash的测试依赖于python3.4的PySide(最终还是PyQt),所以我想知道如何在Travis上安装这个依赖项,以便对测试可用?

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

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


Tags: piptravis信息源代码过程pyqtpysidequamash
2条回答

一个好的解决方案是使用Travis的caching feature跨构建缓存控制盘。在

添加

language: python
cache: pip

到您的.travis.yml缓存{}。因此,pysidewheel将只构建一次,并在应用程序的重建过程中保持不变。在

目前无法通过apt get进行安装。请参见github issuetravis docs。在

还有三种选择。在

用pip就行了

您的.travis.yml将包括:

install:
  - pip install PySide

正如您所提到的,在travis ci服务器上从源代码构建PySide需要很长时间。但是,这种方法是有效的。在

等待Travis CI更新到ubuntu14.04

Issue。Python3.4包含在ubuntu14.04中。然后,您的.travis.yml可能看起来像:

^{pr2}$

自己动手吧

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

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

注意,到目前为止,只有import PySide被测试过。由于这是在Ubuntu14.04和运行Ubuntu12.04的Travis Ci服务器下构建的,我不知道PySide库的功能如何。如果遇到问题,您可能需要在运行ubuntu12.04的机器上重做。在

更新:

下面的python脚本

import PySide
from PySide import QtGui

fails当PySide wheel是在ubuntu14.04上构建的。见the failure。但是,当PySide构建在ubuntu12.04上时,它成功了,参见the success。在

使用PySide wheel

在你的。特拉维斯·伊梅尔文件,包括以下内容:

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

相关问题 更多 >