linux下安装openexr python包踩坑总结
我有个朋友前段时间一直尝试装openexr的python包,参考了不少网上教程,可是最后都以失败了结。后来在个人帮助下终于装好了,在这里给你们分享一下,省得更多的人踩坑。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 并使用啦!
linux
2.安装步骤
安装 gcc g++编译器
sudo apt-get install gcc
sudo apt-get install g++
git
安装依赖(不可缺乏,不然编译的时候提示缺乏文件)
sudo apt-get install libopenexr-dev zlib1g-dev
github
建立一个conda虚拟环境
conda-env create -n openexr_env python=3.6
source activate openexr_env
ubuntu
(这里python3以上的版本都应该能够)spa
安装 OpenEXR for python
pip3 install OpenEXR
或者是pip install OpenEXR
,也能够用小写openexr
,通常此时会提示升级pip,请按照提示升级pip。
安装成功以后,就能使用OpenEXR啦:
.net
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
就能够啦。
3d