Установка GDAL в среде virtualenvwrapper

Я попытался установить gdal (pip install gdal)в среде virtualenvwrapper, но я получил эту ошибку:

  error: command 'gcc' failed with exit status 1

  ----------------------------------------
  Failed building wheel for gdal
 Failed to build gdal

я попробовал также "pip install --no-install GDAL", но есть nooption --no-install

что мне делать !?

3 ответов


да, установка GDAL в venv-это doozy. Удобно, я просто написал документацию о том, как это сделать для лаборатории моего советника! Хотя я недостаточно сообразителен, чтобы точно определить причину вашей ошибки, я могу дать вам кучу вещей, чтобы попытаться ее исправить.

во-первых, убедитесь, что у вас установлен gdal на хосте (т. е. не в venv). Я просто запускаю следующее:

sudo apt-get install libgdal1i libgdal1-dev libgdal-dev

теперь бегите gdal-config --version чтобы получить версию, которая apt-get предоставил вам. Например, я получаю 1.11.3

теперь самый простой способ по моему опыту получить привязки python в venv-это использовать pygdal. Фокус в том, чтобы получить правильную версию! Для этого активируйте виртуальную среду и запустите

pip install pygdal==1.11.3

но замените версию тем, что вы получили от gdal-config --version. Примечание: Вы можете получить сообщение об ошибке

Could not find a version that satisfies the requirement pygdal==1.11.3 (from versions: 1.8.1.0, 1.8.1.1, 1.8.1.2, 1.8.1.3, 1.9.2.0, 1.9.2.1, 1.9.2.3, 1.10.0.0, 1.10.0.1, 1.10.0.3, 1.10.1.0, 1.10.1.1, 1.10.1.3, 1.11.0.0, 1.11.0.1, 1.11.0.3, 1.11.1.0, 1.11.1.1, 1.11.1.3, 1.11.2.1, 1.11.2.3, 1.11.3.3, 1.11.4.3, 2.1.0.3) No matching distribution found for pygdal==1.11.3

если это произойдет, запустите pip install снова, но с самой высокой версией, которая все еще соответствует. например, в этом случае вы бы побежали pip install pygdal==1.11.3.3

один раз pygdal успешно установлен, вы должны иметь возможность позвонить

>>> from osgeo import gdal

пожалуйста, дайте мне знать, если что-то не удается, и я сделаю все, что я могу настроить мои инструкции. Также, если вам нужна помощь с проектом.4, GEOS или Cartopy, у меня тоже есть некоторый опыт.


использовать pygdal

pd@asghar:~$sudo apt-get install python3-gdal 

pd@asghar:~$ virtualenv -p python3 test
Running virtualenv with interpreter /usr/bin/python3
Using base prefix '/usr'
New python executable in /home/pd/test/bin/python3
Also creating executable in /home/pd/test/bin/python
Installing setuptools, pip, wheel...done.

pd@asghar:~$  gdal-config --version
2.1.3
pd@asghar:~$ test/bin/pip install pygdal==2.1.3
Collecting pygdal==2.1.3
  Could not find a version that satisfies the requirement pygdal==2.1.3 (from versions: 1.8.1.0, 1.8.1.1, 1.8.1.2, 1.8.1.3, 1.9.2.0, 1.9.2.1, 1.9.2.3, 1.10.0.0, 1.10.0.1, 1.10.0.3, 1.10.1.0, 1.10.1.1, 1.10.1.3, 1.11.0.0, 1.11.0.1, 1.11.0.3, 1.11.1.0, 1.11.1.1, 1.11.1.3, 1.11.2.1, 1.11.2.3, 1.11.3.3, 1.11.4.3, 1.11.5.3, 2.0.0.3, 2.0.1.3, 2.0.2.3, 2.0.3.3, 2.1.0.3, 2.1.1.3, 2.1.2.3, 2.1.3.3, 2.2.0.3)
No matching distribution found for pygdal==2.1.3
pd@asghar:~$ test/bin/pip install pygdal==2.1.3.3
Collecting pygdal==2.1.3.3
Collecting numpy>=1.0.0 (from pygdal==2.1.3.3)
  Using cached numpy-1.13.1-cp35-cp35m-manylinux1_x86_64.whl
Installing collected packages: numpy, pygdal
Successfully installed numpy-1.13.1 pygdal-2.1.3.3
pd@asghar:~$ source test/bin/activate
(test) pd@asghar:~$ python
Python 3.5.2 (default, Nov 17 2016, 17:05:23) 
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from osgeo import gdal
>>> 

на MacOS, сначала сделайте brew install:

brew install gdal

затем сделайте pip install:

pip install gdal