在我的项目中,我(必须)使用Numpy 1.8中包含的功能,但不是早期版本(formatter
的{{1}}选项)。
由于Travis CI构建机器基于Ubuntu 12.04,默认情况下我只有Numpy 1.6.1可用。然后我尝试为Ubuntu 14.04安装Numpy-1.8.1-Debian-package并手动依赖它,这导致了进一步的问题:
我需要安装软件包numpy.set_printoptions
和libblas3
才能安装Numpy 1.8,这在系统上安装liblapack3
和liblapack3gf
时是不可能的(这是默认的),因为包会“破坏”它们。如果我libblas3gf
他们,自动 apt-get remove
正在通过相同的libatlas3gf-base
- 命令安装(在标准的Ubuntu系统上不是这种情况,我甚至设置了一个在我的本地机器上确保)。如果我然后尝试卸载Vlibatlas3gf-baseV,则会再次自动安装apt-get
和liblapack3gf
。
我真的不知道如何处理这个问题,或者如何解决这个问题让Numpy 1.8与Travis合作。我还尝试了通过libblas3gf
提供here来升级Numpy的建议,但在Travis中这没有用。
非常感谢任何帮助!
非常感谢!
解决方案:
我完成了对以下pip
- 文件的回答,并得到here和here的进一步帮助:
.travis.yml
现在一切都按预期工作了。请注意:您将不能够使用此设置导入和使用PyLab,请参阅以下注释以获得解释。
答案 0 :(得分:3)
在持续集成工作流程中从源(无论是直接编译还是使用pip
)构建科学python模块的速度很慢(numpy为15分钟,如果需要scipy则为15分钟),以及浪费资源。
您应该使用numpy的二进制分发,例如Anaconda提供的分发。对于Travis CI,您可以使用,
language: python
before_script:
- wget http://repo.continuum.io/miniconda/Miniconda-3.8.3-Linux-x86_64.sh -O miniconda.sh
- chmod +x miniconda.sh
- export PATH=/home/travis/miniconda/bin:$PATH
- conda install --yes numpy=1.8
另请查看Travis CI的更完整setup example。
答案 1 :(得分:2)
我尝试在Travis CI上安装带有pip
的Numpy 1.8.2,它似乎有效。
以下是我的.travis.yml
文件的内容:
language: python
before_script:
- pip uninstall numpy -y
- pip install -I numpy==1.8.2
script: python -c 'import numpy; print numpy.version.version'
您可以在此build log中看到它已成功打印1.8.2
。
希望这有帮助!
答案 2 :(得分:1)
numpy
现在是pre-installed。对于预安装版本比最新numpy
版本早的罕见情况,numpy
binary releases为available from PyPI,因此无需构建{{1} Travis CI。
numpy