在我的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,因此在我的环境中更改任何其他内容都不是问题。
直到今天,我的应用程序都工作得很好,所以我认为问题与依赖链中的某些更改有关,但我不知道发生了什么。
发布于 2017-11-28 21:26:04
如果您在使用conda-forge包时遇到问题,检查包的构建时间是很有帮助的,例如:https://anaconda.org/conda-forge/gdal/files
如果您的包是刚刚构建的,则可能是依赖项仍在构建中,因为conda-forge的CI构建过程需要时间。
也可能是,查看anaconda.org上文件列表,您会发现另一个更新的、稍有不同的gdal版本,它可能适用于您的环境。
还要注意,当使用多个通道(例如defaults和conda-forge)时,您应该注意一些问题:https://conda-forge.org/docs/conda-forge_gotchas.html#using-multiple-channels
https://stackoverflow.com/questions/47515255
复制相似问题