我已经安装了底图包。它在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
频道中重新安装了Basemap包。
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
引用link,但问题仍然存在。
似乎basmap包与较旧的地理库(版本3.3.x)相反,而cartopy基于地理3.4.x.
很抱歉,由于解释不清楚,我想解决安装Basemap和cartopy而没有任何错误的问题
答案 0 :(得分:0)
我按照以下顺序解决了这个问题:
## 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
答案 1 :(得分:0)
我通过重新安装libgdal解决了这个问题:
conda install libdgal