无法为使用PEP 517且无法直接安装的_建造轮子 - Easy Solution

问题描述 投票:0回答:10

我正在尝试安装一个使用 PEP 517 的软件包。由于涉及 517 的 Wheel 构建错误,最新版本的 Pip 不允许我安装。

过去,我通过降级 Pip、安装软件包并将 Pip 升级回最新版本来解决此问题。但是,在我的 virtualenv 中降级 pip 后,如果我尝试运行“Pip install black”,我会收到“没有名为“pip._internal.cli.main”的模块”错误。

我该如何解决这个问题?

python python-3.x pip virtualenv pep517
10个回答
28
投票

处理错误的最简单解决方案

"Could not build wheels for ____ which use PEP 517 and cannot be installed directly" 

如下:

sudo pip3 install _____ --no-binary :all:

其中____显然是你要安装的库的名称。


24
投票

在安装 Tensorflow 期间,h5py 库出现此错误。我检查了 h5py 文档,以确保我拥有正确版本的 pip 和 setuptools,https://pip.pypa.io/en/stable/reference/pip/

pip install --upgrade pip setuptools wheel

然后我检查了错误日志,以确定导致 h5py 在安装后端依赖项时失败的原因。我确定它是 libhdf5.so,其中显示“错误:libhdf5.so 无法打开共享对象文件:没有这样的文件或目录”。我通过运行安装了该库:

sudo apt-get install libhdf5-dev

此后,h5py 与 TensorFlow 一起成功安装。 我遇到过因缺少依赖项而导致的类似 PEP 517 错误:

  1. 错误:无法为使用 PEP 517 的 glpk 构建轮子,并且无法直接安装
  2. 错误:无法为使用 PEP 517 的 scipy 构建轮子,并且无法直接安装


12
投票

来自此链接的解决方案帮助了我:

pip install --upgrade pip setuptools wheel

6
投票

有时这可能是由于缓存问题导致的,并且非二进制标志不起作用。在这种情况下请尝试

pip install <insert package names> --no-cache-dir

这似乎是使用 python 安装包时经常出现的问题。首先,检查以确保您已激活您认为应该进入的 virtualenv,然后检查是否有wheel pkg(如果没有则 pip installwheel)。如果这些失败,那么 --no-cache-dir 或 --no-binary 标志就会发挥作用。阅读每个包的 pypi 文档也会有帮助。祝你好运!


5
投票

在此发布答案作为未来搜索者的参考。

我尝试安装 Pillow 并收到此错误。尝试了很多不同的方法,但没有一个有效。 然后我将 Python(从 3.9)降级到 3.8,然后再次尝试通过 pip 安装,然后就成功了。

如果你失败了,请尝试降级Python,它可能会起作用。


5
投票

当我遇到这个错误时,问题是我拉取的包的元数据配置不正确,这导致构建轮子失败。

为了找到我运行的错误,

pip --verbose install <my_package>
这让我看到了轮子构建失败的原因,并在上游修复它。


1
投票

试试这个: pip3 安装 --升级 pip


0
投票

在 OSX 上,在运行 pip 之前在我的环境中设置 SYSTEM_VERSION_COMPAT=1 解决了这个问题:

export SYSTEM_VERSION_COMPAT=1

0
投票

检查您是否安装了 python 开发部分。如果没有的话:

sudo apt update
sudo apt install python3.X-dev

-6
投票

我在卸载并重新安装miniconda时也遇到了同样的问题。

我不知道为什么,但在我的注册表项中

Computer\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Command Processor AutoRun
已设置为
if exist
。我删除了该值,然后它像以前一样工作正常。

© www.soinside.com 2019 - 2024. All rights reserved.