Aggiunta di GDAL come dipendenza al pacchetto Python?


9

Sto cercando di impacchettare uno script Python che utilizza GDAL per PyPI. Ho iniziato includendo un riferimento diretto nel mio setup.py:

install_requires=['GDAL==1.11.2'],

In questo modo il pacchetto non è stato installato nel mio ambiente virtuale di prova:

extensions/gdal_wrap.cpp:2855:22: fatal error: cpl_port.h: No such file or directory
 #include "cpl_port.h"
                      ^
compilation terminated.
error: Setup script exited with error: command 'x86_64-linux-gnu-gcc' failed with exit status 1

Ho quindi provato con un riferimento a pygdal, poiché è contrassegnato come una versione compatibile con virtualenv:

install_requires=['pygdal'],

In questo modo l'installazione termina senza errori (ma con il solito carico di avvisi di compilazione). Tuttavia, quando invoco lo script ricevo indietro questo errore:

Traceback (most recent call last):
  File "/home/desouslu/.virtualenvs/test_p3/bin/hasc2gml", line 5, in <module>
    from pkg_resources import load_entry_point
  File "/home/desouslu/.virtualenvs/test_p3/lib/python3.4/site-packages/pkg_resources.py", line 2716, in <module>
    working_set.require(__requires__)
  File "/home/desouslu/.virtualenvs/test_p3/lib/python3.4/site-packages/pkg_resources.py", line 685, in require
    needed = self.resolve(parse_requirements(requirements))
  File "/home/desouslu/.virtualenvs/test_p3/lib/python3.4/site-packages/pkg_resources.py", line 588, in resolve
    raise DistributionNotFound(req)
pkg_resources.DistributionNotFound: pygdal

Qual è il modo corretto di impostare GDAL come dipendenza?

Aggiornamento : la dipendenza sembra essere stata dichiarata correttamente, il problema è probabilmente a monte, con il pacchetto GDAL stesso. Ulteriori dettagli su StackOverflow .


5
Direi che qui è valida una domanda Python pura su gdal.
John Powell,

2
Interessante come i revisori sembrino così sicuri che si tratti di una domanda rigorosamente Python, ma finora si sono astenuti dal sottolineare di cosa si tratta.
Luís de Sousa,

6
È una domanda su pitone e GDAL e penso sull'argomento
Ian Turton

3
Questo è stato postato incrociato: stackoverflow.com/questions/36471683/…
Evil Genius

1
@EvilGenius Normalmente declassare le registrazioni incrociate, ma in questo caso posso perdonarlo perché la votazione ravvicinata originale sulla domanda qui indicato indicava che era il modo di procedere.
PolyGeo

Risposte:


3

Prima di installare l'associazione python GDAL, è necessario installare GDAL sul proprio sistema.

apt-get install -y libgdal-dev

Successivamente, imposta le variabili e installa l'associazione

CPLUS_INCLUDE_PATH=/usr/include/gdal \
C_INCLUDE_PATH=/usr/include/gdal \
pip install GDAL

La versione del sistema GDAL dovrebbe essere superiore ai binding di versione.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.