From 20155926b5a2f6e0143ab5bdad796d6c58fc86da Mon Sep 17 00:00:00 2001 From: Steven Silvester Date: Mon, 6 Oct 2014 18:05:31 -0500 Subject: [PATCH] Update to use wheelhouse --- .travis.yml | 118 +++++++++++++++++++---------------------------- requirements.txt | 4 +- 2 files changed, 50 insertions(+), 72 deletions(-) diff --git a/.travis.yml b/.travis.yml index c6b88c8f..f21c53d1 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,54 +5,33 @@ language: python - -# Tthe Travis python is set to 3.2 for all builds, since we use the default python for the 3.2 build and the anaconda python otherwise python: + - 2.6 + - "2.7_with_system_site_packages" - 3.2 + - 3.3 + - 3.4 env: - - ENV="python=2.6 numpy=1.6 cython=0.19.2" - - ENV="python=2.7 numpy cython" - - ENV="python=3.2" - - ENV="python=3.3 numpy cython" - - ENV="python=3.4 numpy cython" - -virtualenv: - system_site_packages: true + WHEELHOUSE="--no-index --find-links=http://wheels.scikit-image.org/" before_install: - export DISPLAY=:99.0 - export SPACER="\n\n\n\n\n\n\n\n\n\n*************************\n\n" - sh -e /etc/init.d/xvfb start - sudo apt-get update - - sudo apt-get install python-dev libjpeg-dev libfreetype6-dev zlib1g-dev - # Python 3.2 is not supported by Miniconda, so we use the package manager for that run. - # NumPy has a bug in python 3 that is only fixed in the latest version, - # hence the below wget of numpy/_import_tools.py from github. - - if [[ $ENV == python=3.2 ]]; then - sudo apt-get install python3-numpy; - wget https://raw.githubusercontent.com/numpy/numpy/master/numpy/_import_tools.py -O /home/travis/virtualenv/python3.2_with_system_site_packages/lib/python3.2/site-packages/numpy/_import_tools.py; - sudo apt-get install python3-scipy; - travis_retry pip install cython flake8 six networkx; - else - wget http://repo.continuum.io/miniconda/Miniconda-latest-Linux-x86_64.sh -O miniconda.sh; - bash miniconda.sh -b -p $HOME/miniconda; - export PATH="$HOME/miniconda/bin:$PATH"; - hash -r; - conda config --set always_yes yes; - conda update conda; - conda info -a; - travis_retry conda create -n test $ENV six scipy pip flake8 nose networkx; - source activate test; - fi - - travis_retry pip install wheel; - - if [[ $ENV != python=2.6* ]]; then - travis_retry pip install matplotlib --no-index --find-links=http://wheels.scikit-image.org/; - else - pip install matplotlib==1.1.1; - fi - - pip install pillow --no-index --find-links=http://wheels.scikit-image.org/ + - travis_retry pip install wheel flake8 coveralls nose six + # on Python 2.7, use the system versions of numpy, scipy, and matplotlib + - if [[ $TRAVIS_PYTHON_VERSION == 2.7* ]]; then + travis_retry sudo apt-get install python-scipy python-matplotlib; + travis_retry sudo apt-get install libtiff4-dev libjpeg8-dev zlib1g-dev \ + libfreetype6-dev liblcms2-dev libwebp-dev tcl8.5-dev tk8.5-dev \ + python-dev python-tk + travis_retry pip install pillow cython $WHEELHOUSE; + else + travis_retry pip install -r requirements.txt $WHEELHOUSE; + fi - python check_bento_build.py install: @@ -72,40 +51,41 @@ script: - echo -e $SPACER - # Install optional dependencies to get full test coverage - # Notes: - # - imread does NOT support py3.2 - # - Use the png headers included in anaconda (from matplotlib install) - # TODO: Remove the libm removal when anaconda fixes their libraries - # The solution was suggested here - # https://groups.google.com/a/continuum.io/forum/#!topic/anaconda/-DLG2ZdTkw0 - - if [[ $ENV == python=3.2 ]]; then - travis_retry sudo apt-get install python3-pyqt4; - else - sudo cp ~/miniconda/envs/test/include/png* /usr/include; - rm ~/miniconda/envs/test/lib/libm-2.5.so; - rm ~/miniconda/envs/test/lib/libm.*; - sudo apt-get install libtiff4-dev libwebp-dev xcftools; - travis_retry pip install imread; - conda install pyqt; - fi - - sudo apt-get install libfreeimage3 - # TODO: update when SimpleITK become available on py34 or hopefully pip - - if [[ $ENV != python=3.4* ]]; then - travis_retry easy_install SimpleITK; - fi - # PyAMG is only available on Py2.6 and Py2.7 - - if [[ $ENV == python=2.* ]]; then - travis_retry pip install pyamg; - fi - - travis_retry pip install --no-deps astropy + # Install Qt and then update the Matplotlib settings + - if [[ $TRAVIS_PYTHON_VERSION == 2.7* ]]; then + sudo apt-get install python-qt4; + else + sudo apt-get install libqt4-dev; + travis_retry pip install PySide $WHEELHOUSE; + python ~/virtualenv/python${TRAVIS_PYTHON_VERSION}/bin/pyside_postinstall.py -install; + fi - # Matplotlib settings - must be updated after PyQt is installed + # Matplotlib settings - must be after we install Pyside - export MPL_DIR=$HOME/.config/matplotlib - mkdir -p $MPL_DIR - touch $MPL_DIR/matplotlibrc - "echo 'backend : Agg' > $MPL_DIR/matplotlibrc" - - "echo 'backend.qt4 : PyQt4' >> $MPL_DIR/matplotlibrc" + + - if [[ $TRAVIS_PYTHON_VERSION == 2.7* ]]; then + "echo 'backend.qt4 : PyQt4' >> $MPL_DIR/matplotlibrc"; + else + "echo 'backend.qt4 : PySide' >> $MPL_DIR/matplotlibrc"; + fi + + # - imread does NOT support py3.2 + - if [[ $TRAVIS_PYTHON_VERSION != 3.2 ]]; then + sudo apt-get install libtiff4-dev libwebp-dev xcftools; + travis_retry pip install imread; + fi + # TODO: update when SimpleITK become available on py34 or hopefully pip + - if [[ $TRAVIS_PYTHON_VERSION != 3.4 ]]; then + travis_retry easy_install SimpleITK; + fi + - travis_retry pip install --no-deps astropy + + - if [[ $TRAVIS_PYTHON_VERSION == 2.* ]]; then + travis_retry pip install pyamg; + fi - echo -e $SPACER @@ -118,13 +98,11 @@ script: # run tests again with optional dependencies to get more coverage # measure coverage on py3.3 - - if [[ $ENV == python=3.3* ]]; then + - if [[ $TRAVIS_PYTHON_VERSION == 3.3 ]]; then nosetests --exe -v --with-doctest --with-cov --cover-package skimage; else nosetests --exe -v --with-doctest skimage; fi after_success: - - if [[ $ENV == python=3.3* ]]; then - coveralls; - fi + - coveralls; diff --git a/requirements.txt b/requirements.txt index 13a6f59b..7464d13d 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,6 +1,6 @@ cython>=0.19.2 -matplotlib>=1.1 -numpy>=1.6 +matplotlib>=1.1.1 +numpy>=1.6.1 scipy>=0.9 six>=1.3 networkx>=1.6.2