底图和卡托邦的包冲突



我已经安装了底图包。它在Anaconda jupyter环境中的Python 2.7环境中运行良好。

我想安装cartopy并学习此用于地理空间数据映射的软件包。

conda install -c conda-forge gdal geos pyproj shapely cartopy 

软件包似乎已成功安装。

但是,当我想导入此包时,错误显示如下:

import cartopy.crs as ccrs
dlopen(/Users/HYF/anaconda/lib/python2.7/site-packages/cartopy/trace.so, 2): Library not loaded: @rpath/libgeos_c.1.dylib
Referenced from: /Users/HYF/anaconda/lib/python2.7/site-packages/cartopy/trace.so
Reason: Incompatible library version: trace.so requires version 12.0.0 or later, but libgeos_c.dylib provides version 11.0.0

我读过一些网站,其中有些人也遇到了这个问题并寻求帮助。该错误应与不同包依赖项之间的冲突有关。

因此,我通过以下方式在conda通道中重新安装了底图包:

conda install -c conda-forge basemap   

然后,basemap包和cartopy包都无法导入。

from mpl_toolkits.basemap import Basemap
dlopen(/Users/HYF/anaconda/lib/python2.7/site-packages/_geoslib.so, 2): Library not loaded: @rpath/libgeos_c.1.dylib
Referenced from: /Users/HYF/anaconda/lib/python2.7/site-packages/_geoslib.so
Reason: Incompatible library version: _geoslib.so requires version 12.0.0 or later, but libgeos_c.dylib provides version 11.0.0

我也尝试conda install -c conda-forge basemap cartopy引用链接,但问题仍然存在。

似乎basmap包反对较旧的geos库(版本3.3.x),而cartopy基于geos 3.4.x。

附言

抱歉解释不清楚,我想解决安装底图和卡托米而没有任何错误的问题

我已经按照以下顺序解决了这个问题:

## Uninstall cartopy and shapely, keep the basemap
conda uninstall cartopy    
conda uninstall shapely
## upgrade the gdal using brew method 
brew upgrade gdal
## install shapely cartopy using pip
pip install shapely cartopy --no-binary shapely --no-binary cartopy
## reinstall shapely using conda
conda install shapely 

我通过重新安装libgdal解决了这个问题:

conda install libdgal

相关内容

  • 没有找到相关文章

最新更新