OSError geos_c could not be found when Installing Shapely

msunbot picture msunbot · Sep 25, 2012 · Viewed 19.6k times · Source

I'm a newbie to making/plotting on maps with python, been trying to follow this blogpost to generate a world map (http://sciblogs.co.nz/seeing-data/2011/08/12/plotting-geographic-data-on-a-world-map-with-python/). Got stuck with a few things here:

  1. Installing Basemap (a Matplotlib extension for plotting data on geographic projections).

    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
    
  2. Install Shapely, but the following error occurs [1]:

  3. Then I went into the geos.py file and change all the references of geos.dll to geos_c.dll, as recommended by the link here: http://osgeo-org.1560.n6.nabble.com/osgeo4w-258-Problems-with-python-shapely-python-2-7-2-td4336816.html

  4. However, the same error [1] occurs.

I'm using Python 2.7.1 and Mac OS 10.7.4. Please let me know if I can provide additional information, and really appreciate any guidance from the community here! Thanks!

[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']

Answer

user1050660 picture user1050660 · Oct 2, 2012

For questions 2-4, you have to have GEOS installed on your system. If you have homebrew you can do the following:

brew install geos

Install homebrew here if you don't have it: http://mxcl.github.com/homebrew/