Додавання GDAL як залежність до пакету Python?


9

Я намагаюся упакувати сценарій Python, який використовує GDAL для PyPI. Я почав із включення прямого посилання в моє setup.py:

install_requires=['GDAL==1.11.2'],

Таким чином пакет не вдалося встановити в моєму тестовому віртуальному середовищі:

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

Потім я спробував це з посиланням на pygdal, оскільки він позначений як віртуальна версія для друку:

install_requires=['pygdal'],

Таким чином установка закінчується без помилок (але зі звичайним завантаженням попереджень компіляції). Однак коли я викликаю сценарій, я повертаю цю помилку:

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

Який правильний спосіб встановити GDAL як залежність?

Оновлення : Здається, залежність виявлена ​​правильно, проблема, ймовірно, вище за течією, з самим пакетом GDAL. Детальніші відомості на StackOverflow .


5
Я б заперечував, що чисте питання Python щодо gdal справедливе тут.
Джон Пауелл

2
Цікаво, наскільки рецензенти виглядають настільки впевненими, що це суто питання Python, але поки що утрималися від вказівки на те, що це таке.
Luís de Sousa

6
Це питання пітона та GDAL, і я думаю на тему
Ян Тертон


1
@EvilGenius Я зазвичай забороняю перехресні дописи, але в цьому випадку я можу це висловити, тому що в початковому закритому голосуванні по цьому питанню вказувалося, що це саме так.
PolyGeo

Відповіді:


3

Перш ніж встановлювати прив'язку python GDAL, потрібно встановити GDAL у вашій системі.

apt-get install -y libgdal-dev

Після цього встановіть змінні та встановіть прив'язку

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

Версія системи GDAL повинна бути вищою за прив’язки версій.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.