My tests for Quamash depend on PySide (or PyQt eventually) for Python 3.4, so I'm wondering how I can install this dependency on Travis so that it's available to the tests?
I am aware that I can install PySide from source via pip, but that is a very slow process.
Let me know if I need to provide more info.
Installing via apt-get is currently not possible. See github issue and travis docs.
Three other options.
Your .travis.yml
will include:
install:
- pip install PySide
As you mentioned, it will take a LONG time to build PySide from source on the travis-ci servers. However, this method is guaranteed to work.
Issue. Python3.4 is included in Ubuntu 14.04. Then, your .travis.yml
could look like:
install:
- sudo apt-get install python3-pyside
You can build your own PySide wheel so Travis-CI builds using Python3.4 do not have to build PySide from source.
Following these instructions, I built a PySide wheel by:
$ 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
You can then host this wheel somewhere, and access it using travis by:
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
where <your-site>
is a webpage that contains a link to the wheel named PySideXXXXXXX.whl
, with the correct naming convention. Use --no-index
to prevent pip from finding and installing a newer PySide from pypi.
See the source.
The wheel is hosted at the repo's gh-pages.
Note on my machine with Ubuntu 14.04, building the wheel created the file dist/PySide-1.2.2-cp34-cp34m-linux_x86_64.whl
which was roughly 17 MB. When I instead included the --standalone
tag in the build step, the file was ~77 MB.
Note that as of yet, only import PySide
has been tested. Due to this being built under Ubuntu 14.04 and Travis-Ci servers running Ubuntu 12.04, I do not know how functional the PySide library is. If you run into problems, you may want to redo this on a machine running Ubuntu 12.04.
Update:
The following python script
import PySide
from PySide import QtGui
fails when the PySide wheel was built on Ubuntu 14.04. See the failure. However, it succeeds when PySide is built on Ubuntu 12.04, see the success.
In your .travis.yml file, include the following:
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
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With