我在这个非常相关的问题上尝试了一切: 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 setuptools
和pip install --upgrade wheel
,并且它们是最新的。
答案 0 :(得分:8)
我在最近使用python3 -m venv
(您必须install python3-venv
)的Ubuntu上发生了这种情况,无论我清理环境并重试多少次,我都得到{{1 }}安装Flask依赖项时出错。
除了默认情况下没有默认安装Python 3的bdist_wheel
之外,由于某种原因,在Ubuntu上,我似乎还必须显式安装venv
。
为清楚起见,以下无效:
wheel
python3 -m venv .
. bin/activate
但是,以下可行:
pip install Flask
python3 -m venv .
. bin/activate
(例如,不必在Arch Linux上执行此操作)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