“失败的x建筑轮”是什么意思?在PIP安装?

这是一个非常受欢迎的问题,但我所看到的许多答案中,没有一个能清楚地解释这个错误的真正含义,以及它为什么会发生。

混淆的一个来源是,当(例如)你执行pip install pycparser时,你首先得到错误:

Failed building wheel for pycparser

后面跟着一个消息,这个包是:

Successfully installed pycparser-2.19


# pip3 install pycparser


Collecting pycparser
Using cached https://files.pythonhosted.org/packages/68/9e/49196946aee219aead1290e00d1e7fdeab8567783e83e1b9ab5585e6206a/pycparser-2.19.tar.gz
Building wheels for collected packages: pycparser
Running setup.py bdist_wheel for pycparser ... error
Complete output from command /usr/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-g_v28hpp/pycparser/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d /tmp/pip-wheel-__w_f6p0 --python-tag cp36:
Traceback (most recent call last):
File "<string>", line 1, in <module>
...
File "/usr/lib/python3.6/site-packages/pkg_resources/__init__.py", line 2349, in resolve
module = __import__(self.module_name, fromlist=['__name__'], level=0)
ModuleNotFoundError: No module named 'wheel.bdist_wheel'


----------------------------------------
Failed building wheel for pycparser
Running setup.py clean for pycparser
Failed to build pycparser
Installing collected packages: pycparser
Running setup.py install for pycparser ... done
Successfully installed pycparser-2.19

这是怎么回事?

(我想了解一些东西是如何失败的,但仍然可以安装,以及您是否可以相信这个包正常运行?)

到目前为止,我找到的最好的部分解释是

351379 次浏览

昨天,我在运行pip3 install hddfancontrol时得到了相同的错误:Failed building wheel for hddfancontrol。结果是Failed to build hddfancontrol。原因是error: invalid command 'bdist_wheel'Running setup.py bdist_wheel for hddfancontrol ... error。通过运行以下命令修复了错误:

 pip3 install wheel

(从在这里)。

或者,“wheel”可以直接从在这里下载。下载后,可以通过运行以下命令进行安装:

pip3 install "/the/file_path/to/wheel-0.32.3-py2.py3-none-any.whl"

从包部署的角度解决这个问题可能会有所帮助。

有很多教程解释了如何将包发布到PyPi。下面是我用过的几个;

< p > 媒介 < br > 真正的python < / p >

我的经验是,大多数这些教程只让你使用源代码的.tar,而不是轮子。因此,在安装使用这些教程创建的包时,我收到了“构建轮子失败”错误。

后来我在PyPi上找到了Python软件基金会文档PSF文档的链接。我发现他们的设置和构建过程略有不同,确实包括构建一个轮子文件。

在使用官方文档的方法后,我在安装包时不再收到错误。

因此,错误可能只是开发人员如何打包和部署项目的问题。我们生来就不知道如何使用PyPi,如果他们碰巧看到了错误的教程——好吧,您可以自己填补空白。

我敢肯定这不是造成错误的唯一原因,但我敢打赌这是一个主要原因。

(pip维护者在这里!)

快速复制粘贴:

pip install wheel

在用venv创建的每个新虚拟环境中都这样做。

继续阅读,了解细节和解释。


如果包不是一个轮子,pip会试着为它构建一个轮子(通过setup.py bdist_wheel)。如果因为任何原因失败(例如,缺少系统级库,与您的系统不兼容,所构建的轮中的错误版本字符串,等等),您将得到“{…}失败的构建轮”;消息。

在其中一些情况下,目前,pip返回到通过setup.py install进行安装,因此安装仍然有可能成功。也就是说,pip总是尽可能多地尝试通过轮子安装包。这是因为使用轮子的各种优势(如更快的安装,可缓存,无需再次执行代码等)以及它是标准化格式的事实;不像(已弃用的)setup.py安装界面。


这里的错误消息是由于wheel包缺失,它包含在setup.py bdist_wheel中构建轮子所需的逻辑。(pip install wheel可以修复这个问题——但它不会修复由于系统配置而导致的任何构建时间问题)


在将来的某个时候,我们将默认切换到一个更现代的构建系统(如果你是一个包作者,你可以通过添加pyproject.toml来选择加入),通过隔离的构建环境来解决这个问题,在那里你将安装wheel。:)

从那以后,除了我自己,似乎没有人提起这件事。对于上述问题,我自己的解决方案通常是通过使用:pip install <package> --no-cache-dir来确保禁用缓存副本。

试试这个:

sudo apt-get install libpcap-dev libpq-dev

当我安装这两个时,它已经为我工作了。

更多信息请参见链接在这里

在Ubuntu 18.04上,我遇到了这个问题,因为wheelapt包不包括wheel命令。我认为pip尝试导入wheel python包,如果成功,则假设wheel命令也可用。Ubuntu打破了这个假设。

apt的python3代码包命名为python3-wheel。这是自动安装的,因为python3-pip推荐它。

apt python3 wheel命令包命名为python-wheel-common。安装这个也修复了“失败的建设车轮”的错误。

我试着安装的时候也收到了同样的信息

pip install django-imagekit.

所以我跑了

pip install wheel

(我有python 2.7),然后我重新运行pip install django-imagekit,它工作了。

这可能对你有帮助!....

卸载pycparser:

pip uninstall pycparser

重新安装pycparser:

pip install pycparser

我在安装termcolor时得到了相同的错误,我通过重新安装来修复它。

我想补充一点,如果你的系统上只有Python3,那么你需要开始使用pip3而不是pip。

可以使用以下命令安装pip3;

sudo apt install python3-pip -y

在此之后,您可以尝试安装所需的软件包;

sudo pip3 install <package>

错误:

系统:aws ec2实例(t2小)

问题:在安装opencv python via

pip3 install opencv-python

  Problem with the CMake installation, aborting build. CMake executable is cmake
  

----------------------------------------
Failed building wheel for opencv-python
Running setup.py clean for opencv-python


什么对我有用

pip3 install --upgrade pip setuptools wheel

在此之后,您仍然可能收到休闲错误错误

    from .cv2 import *
ImportError: libGL.so.1: cannot open shared object file: No such file or directory

安装libgl为我解决了这个错误。

sudo apt update
sudo apt install libgl1-mesa-glx

希望这能有所帮助

我在安装Brotli时也遇到了同样的问题

错误

Failed building wheel for Brotli

我通过从下载.whl文件来解决这个问题 并使用下面的命令

安装它
C:\Users\{user_name}\Downloads>pip install Brotli-1.0.9-cp39-cp39-win_amd64.whl

在我的例子中,在创建venv后更新pip versión,这将pip从9.0.1更新到20.3.1

python3 -m venv env/python
source env/python/bin/activate
pip3 install pip --upgrade

但是,信息是…

Using legacy 'setup.py install' for django-avatar, since package 'wheel' is not installed.

然后,我在更新pip后安装车轮包

python3 -m venv env/python
source env/python/bin/activate
pip3 install --upgrade pip
pip3 install wheel

信息是…

Building wheel for django-avatar (setup.py): started
default:   Building wheel for django-avatar (setup.py): finished with status 'done'
此错误主要出现在您没有wheel所需的包时。 如果您正在使用python3,则安装python3-dev或python2-dev(如果您正在使用python2)
sudo apt-get install python3-dev

sudo apt-get install python2-dev

我试图安装python-nmap工具,并得到这个错误。

如果你在Linux平台上,请确保已经安装了nmap工具,否则python-nmap库将无法工作。

在基于Red Hat的发行版上,请按如下方式安装nmap CLI:

sudo yum install namp

当我试图安装一个需要'isal'的包时,我被这个问题困扰了几个小时,但isal安装失败了:

  ----------------------------------------
ERROR: Failed building wheel for isal
Failed to build isal
ERROR: Could not build wheels for isal which use PEP 517 and cannot be installed directly

适用于我的解决方案是安装libtool

yum install libtool