Ubuntu 21.04下Python 3.9安装OpenEXR失败的解决办法咨询
解决Ubuntu 21.04下Python 3.9安装OpenEXR的问题
我来帮你搞定这个OpenEXR安装的麻烦,你遇到的几个问题其实各有明确原因,咱们一步步解决:
为什么Windows的Wheel文件安装失败?
你用的OpenEXR-1.3.7-cp39-cp39-win_amd64.whl是Windows平台专属的wheel包,和Ubuntu的Linux x86_64架构完全不兼容,自然会提示"不支持该平台"。别再尝试这个文件了,要么找对应Linux的wheel包,要么解决源码编译的报错问题。
核心问题:Clang编译报错的根源
你看到的clang: error: unknown argument: '-ffile-prefix-map=...'是因为Clang 9不支持-ffile-prefix-map这个编译参数——这个参数是GCC 8+和Clang 10+才引入的特性,而你当前使用的Clang 9识别不了它。下面给你几个可行的解决方案:
方案1:升级Clang到支持该参数的版本
最简单的办法是升级Clang到10或更高版本,然后指定用新版本编译:
- 安装Clang 10:
sudo apt update && sudo apt install clang-10
- 临时指定用Clang 10来安装OpenEXR:
CC=clang-10 pip install openexr
方案2:移除不兼容的编译参数
如果你不想升级Clang,可以临时过滤掉那个不支持的参数,同时先安装编译必需的系统依赖:
- 安装OpenEXR和Imath的开发库(源码编译需要这些头文件和库文件):
sudo apt install libopenexr-dev libimath-dev
- 过滤掉
-ffile-prefix-map参数后再执行安装:
CFLAGS=$(echo "$CFLAGS" | sed 's/-ffile-prefix-map=[^ ]*//g') pip install openexr
方案3:直接用系统包管理器安装(最省心)
Ubuntu 21.04的软件仓库里已经有打包好的Python 3 OpenEXR绑定,直接安装就能跳过所有编译环节:
sudo apt install python3-openexr
内容的提问来源于stack exchange,提问作者Donghyuk Jung
相关产品推荐
相关产品推荐

