linux下安装openexr python包踩坑总结

ぃ、小莉子 提交于 2020-08-13 12:58:36

linux下安装openexr python包踩坑总结

我有个朋友前段时间一直尝试装openexr的python包,参考了很多网上教程,但是最后都以失败告终。后来在我的帮助下终于装好了,在这里给大家分享一下,免得更多的人踩坑。

1.linux版本不能太低

最大的坑是linux版本不能太低,比如我这个朋友一开始使用的是ubuntu 16.04,很多教程也是用的16.04,比如当时主要参考的是这三个链接:https://blog.csdn.net/TNove/article/details/103163295
https://blog.csdn.net/qq_24306353/article/details/89111971
https://www.jianshu.com/p/aaa7c51afa30
首先对这几位博主表示感谢和致敬。按照这几位博主的指导依然没能成功 import OpenEXR,于是我就猜测是系统的问题,有可能OpenEXR包更新了,依赖的一些包也是新版本的Linux才有,所以无论怎么弄import的时候总是提示 undefined symbol: _ZTIN7Iex_2_27BaseExcE 或者其它问题。最后在虚拟机中重装了系统,装的是unbuntu 20.04,然后执行下面的步骤,就能成功 import OpenEXR 并使用啦!


2.安装步骤

安装 gcc g++编译器

sudo apt-get install gcc
sudo apt-get install g++

安装依赖(不可缺少,否则编译的时候提示缺少文件)

sudo apt-get install libopenexr-dev zlib1g-dev

创建一个conda虚拟环境

conda-env create -n openexr_env python=3.6
source activate openexr_env

(这里python3以上的版本都应该可以)

安装 OpenEXR for python

pip3 install OpenEXR或者是pip install OpenEXR,也可以用小写openexr,一般此时会提示升级pip,请按照提示升级pip。
在这里插入图片描述
安装成功之后,就能使用OpenEXR啦:
在这里插入图片描述


3.不需要执行conda install -c conda-forge openexr

看了那么多教程,这里有一个误区就是,先使用conda install -c conda-forge openexr命令,再使用pip3 install OpenEXR命令。其实这两者是没有关系的,conda install -c conda-forge openexr安装的只是OpenEXR这个工程( https://anaconda.org/conda-forge/openexr),它的介绍在https://github.com/AcademySoftwareFoundation/openexr,打开可以看到这么一段话:
在这里插入图片描述大意是说,该工程并不是提供给python的OpenEXR包,咱们应该装openexrpython这个工程,其地址是https://github.com/jamesbowman/openexrpython,翻到下面的readme.md,可以看到:
在这里插入图片描述
也就是说,要装openexr的最新python包,只需要装完依赖后执行 pip install openexr就可以啦。


易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!