В пакете 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
после этого попробуйте еще раз.