报错Could not build wheels for Pillow, scikit-image, scipy的由来

报错“Could not build wheels for Pillow, scikit-image, scipy”的由来

这篇文章是对数字内容安全实验(五)问题的解决教程的进一步解释

有些人在执行指令:

1
source ./install.sh

时,会出现报错:

1
Could not build wheels for Pillow, scikit-image, scipy

为什么会出现这种报错呢?
我们打开requirements.txt,可以看到:

上面列出了所有需安装程序及其版本,而报错就是install.sh脚本在执行pip install -r requirements.txt指令时发生的。
而且该报错已经说明了,是在build wheels for Pillow, scikit-image, scipy时出现的错误
我们通过网站https://pypi.org 搜索:

根据requirement.txt,查看[scikit-image0.12.3版本](scikit-image · PyPI):

因为问题出在Building wheels上,所以我们直接查看Built Distributions里的.whl文件:

可以看到,所有的.whl文件的命名方式都是scikit_image-0.12.3-x-cpXX-cpXXm*.whl的形式。
在build wheels过程中出现了问题,也就是说对这个.whl文件处理的过程中出现了问题。
首先执行命令:

1
pip debug --verbose

可以查看你的平台支持的版本。
详见:
whl is not a supported wheel on this platform.解决办法-CSDN博客

安装scipy报错,疑似缺少wheel包,解决方案_failed to build scipy error: could not build wheel-CSDN博客

如果只按照上面网站的教程,下载对应的whl包重命名之后进行build,在后续的python network.py过程中仍会报错:

1
2
3
4
5
6
7
8
ImportError: cannot import name 'geometry' from 'skimage._shared

It seems that scikit-image has not been built correctly.

Your install of scikit-image appears to be broken.
Try re-installing the package following the instructions at:
http://scikit-image.org/docs/stable/install.html

这是个更加令人费解的错误,但是从中我们也能知道,“Your install of scikit-image appears to be broken.
可能这就是按照上面的教程
手动下载whl包改名后build
的下场,极大概率就是由于:你用的平台的python版本过高,并不能正常完成build wheels的过程。

所以说根本的解决办法,还是创建一个兼容的python版本的环境。查看5年前的python版本以及进行后续试验后,我发现选用python3.6是最好(或许是唯一)的选择。而创建环境就需要使用到conda。


报错Could not build wheels for Pillow, scikit-image, scipy的由来
https://fisherder.github.io/2024/06/04/Wheels报错的由来/
作者
Fisherder
发布于
2024年6月4日
许可协议