我在我的 python 应用程序中导入 osgeo 库时遇到问题。我在由以下依赖项定义的 conda 环境中工作:
对于默认频道:
python=3.6.0
pandas=0.19.2
scikit-learn=0.18.1
numpy=1.12.1
requests=2.14.2
pyyaml=3.12
jinja2=2.9.6
对于锻造通道:
gdal=2.2.1
使用 pip 安装:
jellyfish
unidecode
scikit-optimize
skater==1.0.2
boto3==1.4.1
schedule==0.4.3
geopy==1.11.0
fuzzywuzzy==0.15.1
python-Levenshtein==0.12.0
我收到以下错误:
from osgeo import ogr
File "/opt/conda/lib/python3.6/site-packages/osgeo/__init__.py", line 21, in <module>
_gdal = swig_import_helper()
File "/opt/conda/lib/python3.6/site-packages/osgeo/__init__.py", line 17, in swig_import_helper
_mod = imp.load_module('_gdal', fp, pathname, description)
File "/opt/conda/lib/python3.6/imp.py", line 242, in load_module
return load_dynamic(name, filename, file)
File "/opt/conda/lib/python3.6/imp.py", line 342, in load_dynamic
return _load(spec)
ImportError: libpoppler.so.66: cannot open shared object file: No such file or directory
我也尝试在 forge 通道中添加 poppler 依赖,但它不起作用。
你有什么想法来解决这个问题吗?仅基于修改 conda 环境的解决方案是首选,但由于我正在使用 Docker,因此在我的环境中更改任何其他内容都不是问题。
我的应用程序直到今天都运行良好,所以我认为问题与依赖链中的一些变化有关,但我无法弄清楚发生了什么。