5

numpy、scipy、および matplotlib が依存関係にあるプロジェクトで、travis 連続ビルド システムをセットアップしようとしています。私はpython 3.3をターゲットにしています。

私の.travis.ymlスクリプトでは、apt-get から numpy と scipy をインストールしています。また、(確かに) pip (numpy のみ) からもインストールしています。残念ながら、matplotlib のビルドでは、まだ deps に numpy がないことが示されています。WEB で見つけたほぼすべての方法を試しましたが、ほとんどの方法は機能しません (時代遅れだと思います)。

language: python                                                                                                                                                                                                                    
python:                                                                                                                                                                                                                             
  - "3.3"                                                                                                                                                                                                                           
install:                                                                                                                                                                                                                            
  - pip install numpy                                                                                                                                                                                                               
  - pip install colorama
  - pip install matplotlib
  - pip install nose                                                                                                                                                                                                                
script: nosetests                                                                                                                                                                                                                   
virtualenv:                                                                                                                                                                                                                         
  system_site_packages: true                                                                                                                                                                                                        
before_install:                                                                                                                                                                                                                     
  - sudo apt-get update -qq                                                                                                                                                                                                         
  - sudo apt-get install -qq python3-numpy python3-scipy  

以下は、travis log の興味深い部分です。依存関係が満たされていないと書いてありますが、pip コマンドで numpy が apt から既にインストールされていることがわかります。

BUILDING MATPLOTLIB
            matplotlib: 1.2.0
                python: 3.3.2 (default, May 16 2013, 18:32:41)  [GCC 4.6.3]
              platform: linux

REQUIRED DEPENDENCIES
                 numpy: no
                        * You must install numpy 1.4 or later to build
                        * matplotlib.
Complete output from command python setup.py egg_info:
basedirlist is: ['/usr/local', '/usr']                                                                                                                                                              
4

2 に答える 2

0

Robert McGibbon の提案である Apt-get は、依然としてかなり遅いようです。

これは、Travis CI テスト マシンに matplotlib と残りの scipy スタックをプレインストールする、Miniconda を使用した Dan Balchard のアプローチです。完全な.travis.ymlファイルは次のとおりです。

language: python
python:
  - 2.7
  - 3.3
notifications:
  email: false

# Setup anaconda
before_install:
  - wget http://repo.continuum.io/miniconda/Miniconda-latest-Linux-x86_64.sh -O miniconda.sh
  - chmod +x miniconda.sh
  - ./miniconda.sh -b
  - export PATH=/home/travis/miniconda/bin:$PATH
  - conda update --yes conda
  # The next couple lines fix a crash with multiprocessing on Travis and are not specific to using Miniconda
  - sudo rm -rf /dev/shm
  - sudo ln -s /run/shm /dev/shm
# Install packages
install:
  - conda install --yes python=$TRAVIS_PYTHON_VERSION atlas numpy scipy matplotlib nose dateutil pandas statsmodels
  # Coverage packages are on my binstar channel
  - conda install --yes -c dan_blanchard python-coveralls nose-cov
  - python setup.py install

# Run test
script:
  - nosetests --with-cov --cov YOUR_PACKAGE_NAME_HERE --cov-config .coveragerc --logging-level=INFO

# Calculate coverage
after_success:
  - coveralls --config_file .coveragerc
于 2015-05-11T18:50:47.070 に答える