如何缩短在travis上构建pyqt5环境的时间?

时间:2017-07-14 13:16:18

标签: install travis-ci pyqt5

我在github上有一个PyQt5项目,以下是我的环境设置:

dist: trusty
sudo: required
language: python

python:
- 3.4
- 3.5

before_install:
  #SIP
  - cd ..
  - curl -L -O "https://sourceforge.net/projects/pyqt/files/sip/sip-4.19.3/sip-4.19.3.tar.gz"
  - tar -xvf sip-4.19.3.tar.gz
  - cd sip-4.19.3
  - python configure.py
  - sudo make install
  #Qt5
  - sudo add-apt-repository -y "ppa:beineri/opt-qt59-trusty"
  - sudo apt-get update -qq
  - sudo apt-get install qt59-meta-full qt59charts-no-lgpl
  - QTDIR="/opt/qt59"
  - PATH="$QTDIR/bin:$PATH"
  - source /opt/qt59/bin/qt59-env.sh
  - qmake -v
  #PyQt5
  - cd ..
  - curl -L -O "https://sourceforge.net/projects/pyqt/files/PyQt5/PyQt-5.9/PyQt5_gpl-5.9.tar.gz"
  - tar -xvf PyQt5_gpl-5.9.tar.gz
  - cd PyQt5_gpl-5.9
  - python configure.py --confirm-license
  - sudo make install
  #QScintilla
  - cd ..
  - curl -L -O "https://sourceforge.net/projects/pyqt/files/QScintilla2/QScintilla-2.10.1/QScintilla_gpl-2.10.1.tar.gz"
  - tar -xvf QScintilla_gpl-2.10.1.tar.gz
  - cd QScintilla_gpl-2.10.1
  - cd Qt4Qt5
  - qmake qscintilla.pro
  - sudo make install
  - cd ../designer-Qt4Qt5
  - qmake designer.pro
  - sudo make install
  - cd ../Python
  - python configure.py --pyqt=PyQt5
  - sudo make install
  #PyQtChart
  - cd ../..
  - curl -L -O "https://sourceforge.net/projects/pyqt/files/PyQtChart/PyQtChart-5.9/PyQtChart_gpl-5.9.tar.gz"
  - tar -xvf PyQtChart_gpl-5.9.tar.gz
  - cd PyQtChart_gpl-5.9
  - python configure.py
  - sudo make install
  - cd $TRAVIS_BUILD_DIR

install:
  - pip install -r requirements.txt
  - pip install pyinstaller

script:
 - make

before_cache:
  - rm -rf $HOME/.cache/pip/log
cache:
  directories:
    - $HOME/.cache/pip

我的项目需要SIP,PyQt 5.7或更高版本(适用于PyQtChart),QScintilla和一些python模块。

可以想象它已超过50分钟。

有没有办法让这些步骤更快?

1 个答案:

答案 0 :(得分:1)

这是一个解决方法,而不是一个正确的解决方案,但我一直在使用miniconda为我成功安装pyqt。这不是超级快,但比你现在做的要快得多。

以下几行将引导您进入安装了pyqt的python虚拟环境:

wget https://repo.continuum.io/miniconda/Miniconda2-latest-Linux-x86_64.sh -O miniconda.sh;
bash ./miniconda.sh -b -p ${HOME}/miniconda;
export PATH=${HOME}/miniconda/bin:$PATH;
conda install --yes python="2.7" pyqt;

另一个解决方案可能是使用在此处公开和维护的非官方PyPI:https://github.com/pyqt/python-qt5

运行pip install python-qt5。请记住,这不是正式的,可能会破坏/失效。使用风险自负。

此外,请记住,使用python 3.5及更高版本,只需运行

即可使用pip安装pyqt5
pip3 install pyqt5

最后但并非最不重要的是,Travis的维护者可能愿意将pyqt构建添加为他们自己环境的一部分,可以预先安装,也可以作为预编译二进制文件使用pip进行安装。

我会+1任何此类请求。