2012-09-25 31 views
17

Soy un novato en hacer/trazar en mapas con python, he intentado seguir este blog para generar un mapa mundial (http://sciblogs.co.nz/seeing- data/2011/08/12/plotting-geographic-data-on-a-world-map-with-python /). Nos quedamos atrapados con algunas cosas aquí:OSError geos_c no se pudo encontrar al instalar Shapely

  1. Instalación de mapa base (una extensión Matplotlib para el trazado de datos en las proyecciones geográficas).

    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. Instalar bien proporcionado, pero el siguiente error [1]:

  3. Luego entré en el archivo geos.py y cambiar todas las referencias de geos.dll a geos_c.dll, tal como se recomienda por el enlace aquí: http://osgeo-org.1560.n6.nabble.com/osgeo4w-258-Problems-with-python-shapely-python-2-7-2-td4336816.html

  4. Sin embargo, se produce el mismo error [1].

Estoy usando Python 2.7.1 y Mac OS 10.7.4. Por favor, avíseme si puedo proporcionar información adicional y realmente aprecio cualquier orientación de la comunidad aquí. ¡Gracias!

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

Respuesta

2

El problema parece ser que no ha hecho instalado los módulos necesarios.

líneas de código Python como

from mpl_toolkits.basemap import Basemap 

Son declaraciones de importación que indican a su secuencia de comandos para utilizar módulos (u otras partes de código Python) que necesita ya han instalado.

Para cada uno de los paquetes mencionados (NumPy, Matplotlib, Basemap), tendrá que descubrir cómo instalarlos en su sistema. En el caso de NumPy y Matplotlib esto puede ser complicado porque requieren compilación. Por ejemplo, these are theNumpy instructions.

Si solo quieres intentar jugar con las instrucciones en esa publicación de blog, entonces puedes usar un servicio como PythonAnywhere which has numpy, matplotlib, and basemap installed already. (descargo de responsabilidad, trabajo en PythonAnywhere ...)

+0

Gracias @aychedee.He instalado numpy y no pude descifrar el mapa base. ¿PythonAnywhere ayuda a instalar el mapa base junto con las otras bibliotecas? – msunbot

+0

Hola Michelle, en realidad el mapa base ya está instalado como un paquete estándar. La única diferencia en completar ese tutorial sería que tendría que guardar el diagrama como un archivo y luego descargarlo en lugar de mostrarlo directamente. – aychedee

14

Para las preguntas 2-4, debe tener GEOS instalado en su sistema. Si tiene homebrew que puede hacer lo siguiente:

brew install geos

Instalar Homebrew aquí si no lo tienes: http://mxcl.github.com/homebrew/

+0

Esto me solucionó el problema – Sjoerd

+1

Todavía obtengo el mismo error después de hacer brew geos de instalación: OSError: No se pudo encontrar la biblioteca geos_c ni cargar ninguna de sus variantes ['/Library/Frameworks/GEOS.framework/Versions/Current/GEOS' , '/opt/local/lib/libgeos_c.dylib'] –

+0

Bien hecho, me solucionó el problema también. ¡Gracias! – aBiologist

12

En Ubuntu, instalar GEOS, esto funcionó para mí:

$ sudo apt-get install libgeos-dev 
3

Con OS X 10,11 (El Capitán) y bafles, que había do hacer esto:

brew install geos 
sudo mkdir /opt/local 
sudo ln -s /opt/boxen/homebrew/lib /opt/local/lib 

para dejar que Shapely encuentre libgeos_c.dylib en una de las ubicaciones en las que estaba dispuesta a buscarlo.

+0

Tuve un problema para que cartopy se ejecutara con libgeos instalados en el dispositivo y tuve que usar este truco para resolver el problema, ¡gracias por la pista! – user1718097

Cuestiones relacionadas