Enthought Canopy 底图导入失败

Enthought Canopy Basemap Import Failure

我 运行 Enthought Canopy 版本 1.5.2730,Basemap 版本 1.0.7-5 和 pyproj 版本 1.9.3-1 安装在 Mac 运行 OS X 10.9.5。当我尝试导入底图时,出现以下错误消息。

from mpl_toolkits.basemap import Basemap
---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
<ipython-input-4-5e6824321d57> in <module>()
----> 1 from mpl_toolkits.basemap import Basemap

/Users/wiltbemj/Library/Enthought/Canopy_64bit/User/lib/python2.7/site-packages/mpl_toolkits/basemap/__init__.py in <module>()
 28 from matplotlib.lines import Line2D
 29 from matplotlib.transforms import Bbox
 ---> 30 from mpl_toolkits.basemap import pyproj
 31 from mpl_toolkits.axes_grid1 import make_axes_locatable
 32 from matplotlib.image import imread

 ImportError: cannot import name pyproj 

如果我尝试直接导入 pyproj,我会收到以下错误消息

ImportError                               Traceback (most recent call last)
<ipython-input-1-0cc08144b629> in <module>()
----> 1 from mpl_toolkits.basemap import pyproj

/Users/wiltbemj/Library/Enthought/Canopy_64bit/User/lib/python2.7/site-packages/mpl_toolkits/basemap/__init__.py in <module>()
 35 import numpy as np
 36 import numpy.ma as ma
 ---> 37 import _geoslib
 38 import functools
 39 

ImportError: dlopen(/Users/wiltbemj/Library/Enthought/Canopy_64bit/User/lib/python2.7/site-package /_geoslib.so, 2): Library not loaded: @rpath/lib/libgeos_c.1.dylib
Referenced from: /Users/wiltbemj/Library/Enthought/Canopy_64bit/User/lib/python2.7/site-packages/_geoslib.so
Reason: image not found

我试过卸载并重新安装软件包,但没有成功。缺少的 dylib 在机器上的 /opt/local/lib 目录中。不确定是路径问题还是更复杂的问题。非常感谢有关如何开始调试问题的任何提示。

IIUC,这是由于一些库以前由 basemap 提供,现在由 geos 提供,更新 basemap 时不恰当地删除了这些库。

要修复它,请打开 Canopy 终端(从 Canopy 工具菜单)并输入:

enpkg --remove geos
enpkg geos