linux下安装openexr python包踩坑总结

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

创建虚拟环境(请看下一步)之后在虚拟环境中安装 ilmbase :

conda install -c conda-forge ilmbase

(如果ilmbase使用sudo apt-get install libilmbase-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啦:
linux下安装openexr python包踩坑总结_第1张图片

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,打开可以看到这么一段话:
linux下安装openexr python包踩坑总结_第2张图片大意是说,该工程并不是提供给python的OpenEXR包,咱们应该装openexrpython这个工程,其地址是https://github.com/jamesbowman/openexrpython,翻到下面的readme.md,可以看到:
linux下安装openexr python包踩坑总结_第3张图片
也就是说,要装openexr的最新python包,只需要装完依赖后执行 pip install openexr就可以啦。

你可能感兴趣的:(笔记)