无法为使用PEP 517的_构建轮子,因此无法直接安装-简易解决方案

49
我正在尝试安装一个使用PEP 517的软件包。由于与517相关的wheel构建错误,最新版本的Pip不允许我进行安装。
过去,我通过降级pip解决了这个问题,在安装软件包后将Pip升级回最新版本。然而,当我在虚拟环境中降级pip后,如果我尝试运行'Pip install black',我会收到“No module named 'pip._internal.cli.main'”错误。
如何解决这个问题?

1
你尝试过这里发布的解决方案吗(https://github.com/conda/conda/issues/9912)? python -m pip install --upgrade pip --user - Alexander Freyr
2
是的,那对我没用。我已经解决了这个问题,并将在下面回答自己的问题。 - Sean Payne
我在Windows上安装pytype时遇到了类似的问题。解决方案是使用较旧版本的lib。请参见github issue - mihca
该软件包 https://pypi.org/project/pypotrace/(向下滚动)有**系统依赖项**。正如o0lemon_pie0o所回答的那样,使用verbose标志检查您缺少哪些库/软件包。(我正在使用OSX并且缺少libagg库) - L3Loup
10个回答

28

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

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

是以下内容:

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

这里的 ____ 显然是你想要安装的库的名称。


1
错误:命令以状态1退出:/usr/bin/python3 /usr/local/lib/python3.6/dist-packages/pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-ereh_rp4/normal --no-warn-script-location -v --no-binary :all: --only-binary :none: -i https://pypi.org/simple -- 'cffi>=1.0.0'。请检查日志获取完整的命令输出。我现在遇到了这个错误。 - Sandrin Joy
25
对我来说不起作用。您的评论将有助于阐明为什么您认为此建议会有所帮助。另外,使用sudo安装pip不是一个好主意。很明显,原帖作者正在使用虚拟环境。 - Janos
2
我是楼主,它起作用了,这就是为什么我自己回答了我的问题。 - Sean Payne
1
你的自我回答对我没用,当我在Windows 7虚拟机中运行msys shell时,我遇到了与@SandrinJoy相同的错误。 - vesperto

25
在安装Tensorflow时,h5py库出现了这个错误。我查看了h5py文档以确保我有正确的pip和setuptools版本。https://pip.pypa.io/en/stable/reference/pip/
pip install --upgrade pip setuptools wheel

接着我查看了错误日志以确定导致h5py在安装后端依赖项时失败的原因。我发现是libhdf5.so引起的,其中写道“error: libhdf5.so cannot open shared object file: No such file or directory”。我通过运行以下命令来安装该库:

sudo apt-get install libhdf5-dev

之后,h5py已经成功安装并与TensorFlow一起使用。

我遇到了类似的PEP 517错误,这些错误是由缺少依赖项引起的:

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

PEP 517 error


5
请不要发布代码、错误信息或其他文本数据的图像,特别是微小、极低对比度的图像。 - tripleee

13

我从这个链接中找到了解决方案:

pip install --upgrade pip setuptools wheel

6
有时候这可能是由于缓存问题导致的,此时不带二进制标志位将无法工作。在这种情况下,请尝试使用以下命令:pip install <插入软件包名称> --no-cache-dir
在使用Python安装软件包时,似乎这是一个常见问题。首先,检查确保你已经激活了正确的虚拟环境,然后检查是否有wheels包(如果没有,请执行pip install wheel)。如果上述方法都失败了,那么--no-cache-dir或--no-binary标志就会发挥作用。另外,阅读每个软件包的pypi文档也可能有所帮助。祝你好运!

5

在这里,我发布一个回答作为未来搜寻者的参考。

我尝试安装Pillow并出现了这个错误。尝试了许多不同的方法,但都没有成功。 然后我将Python(从3.9)降级到3.8,并再次尝试使用pip安装,然后它就起作用了。

如果你也遇到了问题,请尝试降级Python,这可能会起作用。


2
尝试使用Python 2.7、3.0和3.6,但完全没有成功。 - beatrice
降级到3.8(.10)对我也行得通。 - 0x00F

5
当我遇到这个错误时,问题在于我拉取的软件包元数据配置不正确,导致构建轮失败。
为了找到这个错误,我运行了 pip --verbose install <my_package> 命令,这让我看到了构建轮失败的原因,并将其修复。

1
尝试这个: pip3 install --upgrade pip

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

0
检查是否安装了Python开发部分。如果没有,请执行以下操作:
sudo apt update
sudo apt install python3.X-dev

-7

当我卸载和重新安装miniconda时,我也遇到了同样的问题。

我不知道为什么,但在我的注册表键 Computer\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Command Processor AutoRun 中已经设置为 if exist。我删除了该值,然后它就像以前一样正常工作了。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接