我的Python包有一个setup.py,它在Ubuntu Trusty和一个新的Vagrant Ubuntu Trusty VM上本地构建得很好

sudo apt-get install python python-dev --force-yes --assume-yes --fix-broken
curl --silent --show-error --retry 5 https://bootstrap.pypa.io/get-pip.py | sudo python2.7
sudo -H pip install setuptools wheel virtualenv --upgrade

但当我在Travis CI Trusty Beta VM上做同样的操作时:

- sudo apt-get install python python-dev --force-yes --assume-yes --fix-broken
- curl --silent --show-error --retry 5 https://bootstrap.pypa.io/get-pip.py | sudo python2.7
- sudo -H pip install setuptools wheel virtualenv --upgrade

我得到:

python2.7 setup.py bdist_wheel
usage: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
   or: setup.py --help [cmd1 cmd2 ...]
   or: setup.py --help-commands
   or: setup.py cmd --help
error: invalid command 'bdist_wheel'

这为什么我不能在python中创建轮子?是相关的,但请注意,我正在安装轮子并升级setuptools。


当前回答

与Travis CI无关,但我在尝试在Mac OSX 10.8.5上安装jupyter时遇到了类似的问题,其他答案都没有帮助。该问题是由为名为pyzmq的包构建“轮子”引起的,错误消息充斥了数百页。

我找到的解决方案是直接安装该软件包的旧版本:

python -m pip install pyzmq==17 --user

之后,jupyter的安装成功,没有任何错误。

其他回答

在我的情况下,venv创建的wheel/pip/setuptools版本太旧了。这是有效的:

venv/bin/pip  install --upgrade pip wheel setuptools

也许,你的pip版本已经过时了。在新创建的虚拟环境中安装模块时,我在WSL中遇到了同样的问题。我能够通过运行以下命令来解决此问题:

$ ./bin/python3 -m pip install --upgrade pip 

我的修复是apt-install python3 dev

此问题的原因是:

正在为Python 2.7安装旧版本的pip(6.1.1)安装在Trusty Beta映像上的Python 2.7的多个副本Python 2.7用于sudo的不同位置

这一切都有点复杂,在这里解释得更好https://github.com/travis-ci/travis-ci/issues/4989.

我的解决方案是使用用户travis而不是sudo进行安装:

- pip2.7 install --upgrade --user travis pip setuptools wheel virtualenv

与Travis CI无关,但我在尝试在Mac OSX 10.8.5上安装jupyter时遇到了类似的问题,其他答案都没有帮助。该问题是由为名为pyzmq的包构建“轮子”引起的,错误消息充斥了数百页。

我找到的解决方案是直接安装该软件包的旧版本:

python -m pip install pyzmq==17 --user

之后,jupyter的安装成功,没有任何错误。