为什么python setup.py在Travis CI上说命令“bdist_wheel”无效?

2024-04-25 23:38:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我的Python包有一个setup.py,它在Ubuntu Trusty和一个新的流浪的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虚拟机上做同样的事情时:

- 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'

这个Why can I not create a wheel in python?是相关的,但请注意,我正在安装控制盘并升级安装工具。


Tags: installpiporpygetsetupsudohelp
3条回答
pip install wheel

为我工作,但你也可以加上

setup(
    ...
    setup_requires=['wheel']
)

安装.py并为自己保存pip install命令

此问题是由于:

  • 为Python 2.7安装的pip(6.1.1)的旧版本
  • 在可信的Beta映像上安装了Python 2.7的多个副本
  • Python 2.7用于sudo的另一个位置

这里有点复杂,解释得更好。

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

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

必须安装wheel包。一切都是最新的,但仍有错误。

pip install wheel

那么

python setup.py bdist_wheel 

工作没有问题。

相关问题 更多 >