Próbuję spakować skrypt w języku Python, który używa GDAL dla PyPI. Zacząłem od włączenia bezpośredniego odwołania do mojego setup.py
:
install_requires=['GDAL==1.11.2'],
W ten sposób nie udało się zainstalować pakietu w moim testowym środowisku wirtualnym:
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
Następnie spróbowałem z odniesieniem do pygdal
, ponieważ jest oznaczony jako wersja przyjazna dla virtualenv:
install_requires=['pygdal'],
W ten sposób instalacja kończy się bez błędów (ale przy zwykłym obciążeniu ostrzeżeniami kompilacji). Kiedy jednak wywołuję skrypt, otrzymuję ten błąd z powrotem:
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
Jaki jest prawidłowy sposób ustawienia GDAL jako zależności?
Aktualizacja : Wydaje się, że zależność jest poprawnie zadeklarowana, problem jest prawdopodobnie związany z samym pakietem GDAL. Dalsze szczegóły w StackOverflow .
Odpowiedzi:
Przed zainstalowaniem wiązania GDAL w Pythonie, musisz zainstalować GDAL w swoim systemie.
Następnie ustaw zmienne i zainstaluj powiązanie
Wersja systemu GDAL powinna być wyższa niż powiązania wersji.
źródło