Вопрос по python, gdal – В пакете Python GDAL отсутствует заголовочный файл при установке через pip

19

Я пытаюсь установить gdal из pippip install gdal внутри виртуальной среды (Ubuntu). Не удается, потому что не может найтиcpl_port.h

extensions/gdal_wrap.cpp:2853:22: fatal error: cpl_port.h: No such file or directory
compilation terminated

Однако GDAL установлен правильно, а файл заголовка находится по адресу/usr/include/gdal/cpl_port.h, Есть ли переменная окружения для GDAL, которую нужно установить, чтобы pip мог найти файлы заголовков?

Ваш Ответ

6   ответов
-3

стараться сделать:     заваривать установить GDAL

после этого попробуйте еще раз.

brew только для Mac, в то время как OP использует Ubuntu
Этот ответ был бы гораздо полезнее, если бы вы объяснили OP, что не так в его случае и каким образом ваш фрагмент решает проблему, и каковы предпосылки для приготовления кофе.
20

Как предложено вдругая нитьЭкспорт некоторых переменных оболочки перед запуском pip работал безупречно. Путь для*_INCLUDE_PATH можно найти сgdal-config --cflags.

# GDAL library must have been installed
sudo apt-get install libgdal-dev

# Set up pip and/or virtualenv stuff
...

# Now install Python binding for GDAL
export CPLUS_INCLUDE_PATH=/usr/include/gdal
export C_INCLUDE_PATH=/usr/include/gdal
pip install GDAL
Это исправило это для меня, но также см. Ответ @Neil Smith: в Ubuntu 14.04 вам нужно соответствовать версии libgdal, установленной в системе.
Определенно не работает для меня. Все та же ошибка cpl_port.h. Использование OpenSUSE
Все еще думаю, что это ошибка. gdal_wrap.cpp должен #include & quot; gdal / cpl_port.h & quot; вместо просто "cpl_port.h"
1

Вот что сработало для меня:

Мне нужно было получить последние версии слушателей для установки gdal 2.2.4 через pip:

sudo apt-add-repository ppa:ubuntugis/ubuntugis-unstable
sudo apt update
sudo apt install libgdal-dev

До этого я получалextensions/gdal_wrap.cpp:3172:27: fatal error: cpl_vsi_error.h: No such file or directoryдаже при включении правильного & quot; включать & quot; путь к пункту.

Установка pip (в виртуаленв):

 pip install --global-option=build_ext --global-option="-I/usr/include/gdal" gdal
5

Using PIP :

pip install --no-install GDAL

Затем перейдите в ENV / build / GDAL

python setup.py build_ext --include-dirs=/usr/include/gdal
pip install --no-download GDAL

(Источник:http://ubuntuforums.org/showthread.php?t=1769445)

Using Buildout :

[gdal-bindings]
recipe = zc.recipe.egg:custom
egg = GDAL==1.9.1
include-dirs = /usr/include/gdal
library-dirs = /usr/lib
Это также может бытьinclude-dirs=/Library/Frameworks/GDAL.framework/Versions/2.1/Headers/ на OSX, если вы установили с Kyngchaos ...
6

Ответ Томюна сработал для меня, при условии, что вы должны убедиться, что версия GDAL-dev установлена черезapt-get соответствует версии, устанавливаемойpip.

Для Ubuntu 14.04 используются следующие команды:

# GDAL library must have been installed
sudo apt-get install libgdal-dev

# Set up pip and/or virtualenv stuff
...

# Now install Python binding for GDAL
export CPLUS_INCLUDE_PATH=/usr/include/gdal
export C_INCLUDE_PATH=/usr/include/gdal
pip3 install GDAL=1.10.0
Я тоже использую Ubuntu 14.04. Для меня это не сработало (у меня нет virtualenv). Только когда я изменил последнюю строку на эту: sudo pip3 install --global-option = build_ext --global-option = & quot; -I / usr / include / gdal & quot; GDAL == 1.10.0
1

Я также получал эту ошибку при тестовой установке в виртуальной среде моего пакета, который зависит от GDAL. В этом случае решение состоит в том, чтобы изменить зависимость отGDAL вpygdal вinstall_requires параметр вsetup.py, Вот так:

install_requires=['pygdal'],

Похожие вопросы