J'essaie d'empaqueter un script Python qui utilise GDAL pour PyPI. J'ai commencé par inclure une référence directe dans mon setup.py
:
install_requires=['GDAL==1.11.2'],
De cette façon, le package n'a pas pu être installé dans mon environnement virtuel de test:
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
Je l'ai ensuite essayé avec une référence à pygdal
, car il est marqué comme une version conviviale de virtualenv:
install_requires=['pygdal'],
De cette façon, l'installation se termine sans erreur (mais avec la charge habituelle d'avertissements de compilation). Cependant, lorsque j'invoque le script, je récupère cette erreur:
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
Quelle est la bonne façon de définir GDAL en tant que dépendance?
Mise à jour : La dépendance semble être correctement déclarée, le problème est probablement en amont, avec le package GDAL lui-même. Plus de détails sur StackOverflow .
Réponses:
Avant d'installer la liaison python GDAL, vous devez installer GDAL sur votre système.
Après cela, définissez les variables et installez la liaison
La version du système GDAL doit être supérieure aux liaisons de version.
la source