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

Я пытаюсь установить gdal из pip pip 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 ответов

Как предлагается в другом потоке, экспорт некоторых переменных оболочки перед запуском 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

Взято из этого комментария, он решил мою проблему напрямую

pip3 install GDAL==$(gdal-config --version) 

Явный номер версии должен соответствовать вашей существующей версии libgdal. -

Ответ Томюна сработал для меня, при условии, что вы должны убедиться, что версия 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

Использование 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)

Использование Buildout:

[gdal-bindings]
recipe = zc.recipe.egg:custom
egg = GDAL==1.9.1
include-dirs = /usr/include/gdal
library-dirs = /usr/lib

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

Мне нужно было получить последние версии слушателей для установки 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даже при включении правильного пути включения в пункт.

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

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

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

install_requires=['pygdal'],

Попробуйте сделать: brew установить gdal

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

Другие вопросы по тегам