为什么我不能用python创建轮子?

为什么我不能用python创建轮子?,python,pip,setuptools,python-wheel,Python,Pip,Setuptools,Python Wheel,以下是我正在运行的命令: $ python 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 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'

$ pip --version
pip 1.5.6 from /usr/local/lib/python3.4/site-packages (python 3.4)

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

$ python --version
Python 3.4.1

$ which python
/usr/local/bin/python
另外,我正在用自制的python运行mac

以下是我的setup.py脚本:

我快疯了--我不明白为什么这不起作用。

安装第一个:


文档对此并不十分清楚,但“wheel项目为setuptools提供了一个bdist\u wheel命令”实际上是指“wheel包”

我还遇到了错误消息
无效命令“bdist\u wheel”

事实证明,包setup.py使用的是distutils而不是setuptools。 按如下方式更改它使我能够构建轮子

#from distutils.core import setup
from setuptools import setup

也要更新您的设置工具。


如果这也失败了,你可以尝试使用额外的
--force
标志。

在它之前工作过之后,我也突然遇到了这个问题,这是因为我在一个virtualenv中,而
轮子没有安装在virtualenv中。

我尝试了这里所说的一切,但没有找到解决办法。 运行此命令后(失败):
bazel-bin/tensorflow/tools/pip_-package/build_-pip_-package/tmp/tensorflow_-pkg


转到工具创建的临时目录(在最后一个命令的输出中给出),然后执行
python setup.py bdist\u wheel
.whl
文件位于
dist
文件夹中。

插入另一个答案:尝试检查你的
PYTHONPATH

首先,再次尝试安装
控制盘

pip install wheel
这将告诉您车轮的安装位置,例如:

Requirement already satisfied: wheel in /usr/local/lib/python3.5/dist-packages
然后将控制盘的位置添加到您的
PYTHONPATH

export PYTHONPATH=$PYTHONPATH:/usr/local/lib/python3.5/dist-packages/wheel
现在,建造一个轮子应该可以正常工作了

python setup.py bdist_wheel

也可能是您只有python3系统。 因此,您已经通过pip3安装安装了必要的软件包,如pip3安装轮

你需要专门使用python3构建你的东西

python3 setup.py sdist
python3 setup.py bdist_wheel

干杯。

首先更新您的
pip

pip install --upgrade pip
对于Python 3:

pip3 install --upgrade pip

你已经按照托马斯的回答安装了
轮子
软件包了吗?我也有同样的问题。但我似乎在游戏开始前没有使用sudo。使用后,请在获得管理员许可的情况下推荐。它成功了。因此,我可以说出一个文件:nioblocks-1.01-cp34-cp34m-macosx_10_9_x86_64.whl——这是否适用于任何操作系统,或者我需要做些其他事情才能让它正常工作?(这个“包”只是pip现在要安装的一堆依赖项)@GarrettLinux我不知道,很抱歉,但我鼓励你就此提出一个单独的问题;)我也解决了这个问题——将任何文件添加到setup.py文件中都会给它一个通用的轮子。例如,请查看我问题中的更新代码。即使安装了控制盘,您也可以得到OP的错误,如果setup.py以某种方式使用distutils而不是setuptools(我就是这样),请参阅geographika的答案。对我来说,问题是旧版本的pip。通过
pip安装修复-升级pip
是的,我也曾经遇到过这个问题!非常重要,错误消息很差。@geographika是的,这是一个命令,该命令上的文档也会复制您看到的问题,因为它使用了分块。可能还需要将
从distutils.core import Extension更改为
,从setuptools import Extension更改为
,命令
至少对我使用的软件包是这样。我在pycrypto中遇到了这个错误,它甚至没有导入安装程序。但是,我在开始时添加了setuptools import setup的
,它解决了这个问题。我的setuptools被删除了,或者出现了问题。所以我不得不做:pip安装setuptools——升级——强制这是现在最有用的答案。较新版本的pip安装不使用bdist_控制盘,因此只需升级pip就可以了,无需安装/更新setuptools或控制盘
pip install --upgrade pip
pip3 install --upgrade pip