2012-09-25 16 views
17

Sono un principiante a fare/stampare su mappe con python, ho cercato di seguire questo blogpost per generare una mappa del mondo (http://sciblogs.co.nz/seeing- dati/2011/08/12/plotting-geografico-dati-on-a-world-map-con-python /). Si è bloccato con un paio di cose qui:OSError geos_c non è stato trovato durante l'installazione di Shapely

  1. Installazione di mappa di base (un'estensione Matplotlib per tracciare i dati sulle proiezioni geografiche).

    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. Installare ben fatto, ma il seguente errore si verifica [1]:

  3. Poi sono andato nel file geos.py e cambiare tutti i riferimenti di geos.dll a geos_c.dll, come raccomandato tramite il collegamento qui: http://osgeo-org.1560.n6.nabble.com/osgeo4w-258-Problems-with-python-shapely-python-2-7-2-td4336816.html

  4. Tuttavia, si verifica lo stesso errore [1].

Sto usando Python 2.7.1 e Mac OS 10.7.4. Per favore fatemi sapere se posso fornire ulteriori informazioni e apprezzare davvero qualsiasi guida dalla comunità qui! Grazie!

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

risposta

2

Il problema sembra essere il fatto che non si è effettivamente installati i moduli necessari.

linee di codice Python come

from mpl_toolkits.basemap import Basemap 

sono dichiarazioni di importazione che raccontano lo script per utilizzare moduli (o altri pezzi di codice Python), che è necessario avere già installato.

Per ciascuno dei pacchetti menzionati (NumPy, Matplotlib, Basemap) sarà necessario capire come installarli sul proprio sistema. Nel caso di NumPy e Matplotlib questo può essere complicato perché richiede la compilazione. Ad esempio these are theNumpy instructions.

Se si desidera provare a giocare con le istruzioni in quel post del blog, è possibile utilizzare un servizio come PythonAnywhere which has numpy, matplotlib, and basemap installed already. (disclaimer, lavoro su PythonAnywhere ...)

+0

Grazie @aychedee.Ho installato numpy e non riuscivo a capire la mappa di base. PythonAnywhere aiuta a installare la mappa di base insieme alle altre librerie? – msunbot

+0

Ciao Michelle, in realtà la mappa di base è già installata come pacchetto standard. L'unica differenza nel portare a termine questo tutorial sarebbe che dovresti salvare la trama come un file e quindi scaricarla piuttosto che visualizzarla direttamente. – aychedee

14

Per domande 2-4, devi avere GEOS installato sul tuo sistema. Se si dispone di homebrew è possibile effettuare le seguenti operazioni:

brew install geos

Installare homebrew qui se non ce l'hai: http://mxcl.github.com/homebrew/

+0

Ho risolto il problema per me – Sjoerd

+1

Ho ancora lo stesso errore dopo aver creato brew install geos: OSError: Impossibile trovare la libreria geos_c o caricare una delle sue varianti ['/Library/Frameworks/GEOS.framework/Versions/Current/GEOS' , '/opt/local/lib/libgeos_c.dylib'] –

+0

Ben fatto, ho risolto il problema anche per me. Grazie! – aBiologist

12

Su Ubuntu, installare GEOS, questo ha funzionato per me:

$ sudo apt-get install libgeos-dev 
3

Con OS X 10.11 (El Capitan) e Boxen, avevo do fare questo:

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

per consentire a Shapely di trovare libgeos_c.dylib in una delle posizioni che era disposto a cercarlo.

+0

Ho avuto un problema nel far funzionare la cartopy con libgeos installate su fink e ho dovuto usare questo trucco per risolvere il problema - grazie per il suggerimento! – user1718097

Problemi correlati