安装Shapely时找不到OSError geos_c

msu*_*bot 17 python geos matplotlib-basemap shapely

我是使用python在地图上制作/绘图的新手,一直试图按照这个博文来生成世界地图(http://sciblogs.co.nz/seeing-data/2011/08/12/plotting-geographic-数据上-A-世界地图与 - 蟒/).在这里遇到了一些问题:

  1. 安装底图(用于绘制地理投影数据的Matplotlib扩展).

    from mpl_toolkits.basemap import Basemap
    Traceback (most recent call last):
    File "geos_demo.py", line 1, in <module>
    from mpl_toolkits.basemap import Basemap
    ImportError: No module named mpl_toolkits.basemap
    
    Run Code Online (Sandbox Code Playgroud)
  2. 安装Shapely,但发生以下错误[1]:

  3. 然后我进入了geos.py文件并将geos.dll的所有引用更改为geos_c.dll,如下所示:http://osgeo-org.1560.n6.nabble.com/osgeo4w-258- 问题与-蟒蛇,身材匀称的Python-2-7-2-td4336816.html

  4. 但是,会出现相同的错误[1].

我正在使用Python 2.7.1和M​​ac OS 10.7.4.如果我能提供更多信息,请告诉我,非常感谢社区的任何指导!谢谢!

[1]

    from shapely.geometry import Point
    Traceback (most recent call last): File "<stdin>", line 1, in <module>
    File "/Users/Desktop/python/ENV/lib/python2.7/site-packages/shapely/geometry/__init__.py", line 4, in <module>
    from geo import box, shape, asShape, mapping
    File "/Users/Desktop/python/ENV/lib/python2.7/site-packages/shapely/geometry/geo.py", line 5, in <module>
    from point import Point, asPoint
    File "/Users/Desktop/python/ENV/lib/python2.7/site-packages/shapely/geometry/point.py", line 7, in <module>
    from shapely.coords import required
    File "/Users/Desktop/python/ENV/lib/python2.7/site-packages/shapely/coords.py", line 8, in <module>
    from shapely.geos import lgeos
    File "/Users/Desktop/python/ENV/lib/python2.7/site-packages/shapely/geos.py", line 59, in <module>
    _lgeos = load_dll('geos_c', fallbacks=alt_paths)
     File "/Users/Desktop/python/ENV/lib/python2.7/site-packages/shapely/geos.py", line 44, in load_dll
    libname, fallbacks or []))
    OSError: Could not find library geos_c or load any of its variants        ['/Library/Frameworks/GEOS.framework/Versions/Current/GEOS', '/opt/local/lib/libgeos_c.dylib']
Run Code Online (Sandbox Code Playgroud)

小智 18

对于问题2-4,您必须在系统上安装GEOS.如果您有自制软件,您可以执行以下操作:

brew install geos

如果你没有自制软件,请在这里安装自制软件:http://mxcl.github.com/homebrew/

  • 在执行brew install geos之后,我仍然遇到相同的错误:OSError:找不到库geos_c或加载其任何变体['/Library/Frameworks/GEOS.framework/Versions/Current/GEOS','/ opt / local / lib /libgeos_c.dylib'] (2认同)

Mat*_*att 12

在Ubuntu上安装GEOS,这对我有用:

$ sudo apt-get install libgeos-dev
Run Code Online (Sandbox Code Playgroud)


Jac*_*ing 9

使用 OS X 10.11 (El Capitan) 和 Boxen,我已经这样做了:

brew install geos
sudo mkdir /opt/local
sudo ln -s /opt/boxen/homebrew/lib /opt/local/lib
Run Code Online (Sandbox Code Playgroud)

让 Shapely 找到libgeos_c.dylib它愿意寻找的地点之一。

  • 我在让 cartopy 与 fink 安装的 libgeos 一起运行时遇到问题,不得不使用这个技巧来解决问题 - 感谢您的提示! (2认同)

ayc*_*dee 2

问题似乎是您尚未实际安装所需的模块。

Python 代码行如

from mpl_toolkits.basemap import Basemap
Run Code Online (Sandbox Code Playgroud)

导入语句告诉您的脚本使用您需要已安装的模块(或其他 Python 代码)。

对于提到的每个软件包(NumPy、Matplotlib、Basemap),您必须弄清楚如何将它们安装在您的系统上。对于 NumPy 和 Matplotlib,这可能会很复杂,因为它们需要编译。例如,这些是 Numpy 指令

如果您只是想尝试使用该博客文章中的说明,那么您可以使用像PythonAnywhere 这样的服务,它已经安装了 numpy、matplotlib 和底图。(免责声明,我在 PythonAnywhere 工作......)