无法构建车轮 - 错误:无效命令'bdist_wheel'

时间:2016-05-04 13:32:27

标签: python pip setuptools python-wheel

我在这个非常相关的问题上尝试了一切: Why can I not create a wheel in python?

但我仍然得到:

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'

上下文:

$ pip --version
pip 8.1.1 from /home/bdillman/proj/fashion/lib/python3.5/site-packages (python 3.5)

$ python -c "import setuptools; print(setuptools.__version__)"
18.2

$ python --version
Python 3.5.1

$ which python
/home/bdillman/workspace/fashion/bin/python

$ pip list
Mako (1.0.4)
MarkupSafe (0.23)
peewee (2.8.0)
pip (8.1.1)
PyYAML (3.11)
setuptools (21.0.0)
wheel (0.29.0)

所以看起来所有东西都已安装且版本看起来很好(我认为)。任何人都有想检查的事情来进一步诊断吗?

确切的命令是:

$ python setup.py bdist_wheel

我也试过

$ sudo python setup.py bdist_wheel

我还完成了pip install --upgrade setuptoolspip install --upgrade wheel,并且它们是最新的。

4 个答案:

答案 0 :(得分:8)

我在最近使用python3 -m venv(您必须install python3-venv)的Ubuntu上发生了这种情况,无论我清理环境并重试多少次,我都得到{{1 }}安装Flask依赖项时出错。

除了默认情况下没有默认安装Python 3的bdist_wheel之外,由于某种原因,在Ubuntu上,我似乎还必须显式安装venv

为清楚起见,以下无效

  1. wheel
  2. python3 -m venv .
  3. . bin/activate

但是,以下可行

  1. pip install Flask
  2. python3 -m venv .
  3. . bin/activate(例如,不必在Arch Linux上执行此操作)
  4. pip install wheel

答案 1 :(得分:2)

解决了它。我不确定如何,但我的python虚拟环境搞砸了,使用不同的虚拟环境pip。我修复了我的虚拟环境,现在一切似乎都运行正常。

我是python和虚拟环境的新手,我想我可能已经复制了一个包含虚拟环境的整个项目,然后对其进行了编辑(并错过了一些引用,比如在pip脚本的顶部)。

答案 2 :(得分:1)

需要注意的一点是确保您使用的是setuptools,而不是distutils

答案 3 :(得分:0)

正如@HVNSweeting 提到的,我发现我的 setup.py 文件中有 distutils。 就我而言,我可以将 setup.py 文件中的 from 更改为使用 bdist_wheel

# remove this line
from distutils.core import setup
# insert this line
from setuptools import setup