Python Can';t构建控制盘-错误:无效命令';bdist#u wheel';

Python Can';t构建控制盘-错误:无效命令';bdist#u wheel';,python,pip,setuptools,python-wheel,Python,Pip,Setuptools,Python 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' 背景: $ pip --

我已经尝试了这个非常相关的问题的所有方法:

但我仍然得到:

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安装--升级setuptools
pip安装--升级wheel
,它们是最新的。

解决了这个问题。我不知道是怎么回事,但我的python虚拟环境一团糟,pip使用了不同的虚拟环境。我修复了虚拟环境,现在一切正常


我不熟悉python和虚拟环境,我想我可能复制了一个包含虚拟环境的整个项目,然后对其进行了编辑(并且错过了一些参考,比如在pip脚本的顶部)。

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

我最近在Ubuntu上使用
python3-m venv
(你必须这么做),在那里无论我清除环境并重试多少次,我都会在安装Flask的依赖项时遇到
bdist\u wheel
错误

除了在默认情况下没有Python3安装时通常使用的
venv
,出于某种原因,在Ubuntu上我似乎还必须显式安装
wheel

为清楚起见,以下不起作用

  • python3-m-venv.
  • 。bin/激活
  • pip安装烧瓶
  • 但是,以下方法确实有效:

  • python3-m-venv.
  • 。bin/激活
  • pip-install-wheel
    (比如说,在Arch Linux上从来没有这样做过)
  • pip安装烧瓶

  • 正如@HVNSweeting提到的,我发现我的setup.py文件中有distutils。 在我的例子中,我可以将setup.py文件中的更改为使用bdist\u控制盘

    #删除此行
    从distutils.core导入设置
    #插入这一行
    从设置工具导入设置
    
    构建控制盘文件时使用的确切命令是什么?啊,可能还需要更新pip、控制盘和设置工具(
    pip安装--升级设置工具
    etc.)!将信息添加到问题中。我尝试了链接问题中列出的所有事情,但没有成功。它一定是其他东西。检查从sudo运行它时执行的python路径,因为您正在使用python的本地安装。在使用/不使用sudo运行时,很可能您使用的是不同的版本。当我从sudo运行时,我确实得到了另一个python(/usr/bin/python),但我使用了
    su root
    source./bin/activate
    。没有成功,一切照旧。为我工作。奇怪的