I'm trying to install GDAL on a Mac (macos 10.12.2). I downloaded the GDAL 2.1 Complete package from http://www.kyngchaos.com/software/frameworks (which installs GDAL 2.1.2), and successfully ran the installer. Now I'm trying to compile the Python bindings, using pip
. In my bash_profile, I added lines for include paths (where the GDAL installer put them):
export CPLUS_INCLUDE_PATH=/Library/Frameworks/GDAL.framework/Versions/2.1/Headers
export C_INCLUDE_PATH==/Library/Frameworks/GDAL.framework/Versions/2.1/Headers
export LIBRARY_PATH=/Library/Frameworks/GDAL.framework/Versions/2.1/unix/lib
then I tried to compile the bindings with:
pip install gdal==2.1.2
but pip complained it could only find versions up to 2.1.0 ("No matching distribution found for gdal==2.1.2"). So I tried using 2.1.0 for the install:
pip install gdal==2.1.0
which got pip to attempt the install, but which eventually failed with:
fatal error: 'gdal.h' file not found
#include "gdal.h"
^
2 warnings and 1 error generated.
error: command '/usr/bin/clang' failed with exit status 1
Yet, the file gdal.h is located in the Header directory I set for my include paths.
I tried the advice given in the following questions:
Python GDAL package missing header file when installing via pip
Install GDAL python package in virtualenv on mac
but it did not fix my problem.
What should I do next?
Answer
As Luke says, the Python bindings are included in the GDAL Framework (you can use Suspicious Package, free, or Pacifist, shareware, to examine the content of the GDAL 2.1 Complete package)
And there is gdal-py2.7.pth path file witch is installed in a in the Apple Python site-packages folder and points to the precedent folder (/Library/Python/2.7/site-packages/gdal-py2.7.pth)
But there is a problem: the content of this file is
import sys; sys.path.insert(0,'/Library/Frameworks/GDAL.framework/Versions/1.11/Python/2.7/site-packages')
though it should be
import sys; sys.path.insert(0,'/Library/Frameworks/GDAL.framework/Versions/2.1/Python/2.7/site-packages')
Therefore, simply correct the gdal-py2.7.pth file.
Now if you want to compile yourself the Python bindings, download the GDAL 2.1.0 python module and
python setup.py build_ext -I/Library/Frameworks/GDAL.framework/Versions/2.1/Headers -L/Library/Frameworks/GDAL.framework/Versions/2.1/unix/lib -lgdal
python setup.py build
python setup.py install
No comments:
Post a Comment