Python27 소프트웨어 컬렉션에 gdal python 패키지 설치

Python27 소프트웨어 컬렉션에 gdal python 패키지 설치

Centos 6.6 가상 머신이 있습니다파이썬 2.7 SCL. gdal과 gdal-devel을 설치했습니다.

scl을 시작 sudo scl enable python27 bash하고 실행 하면 pip install gdal실패합니다.

gcc -pthread -fno-strict-aliasing -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -fPIC -I../../port -I../../gcore -I../../alg -I../../ogr/ -I/opt/rh/python27/root/usr/include/python2.7 -I. -I/usr/include -c extensions/gdal_wrap.cpp -o build/temp.linux-x86_64-2.7/extensions/gdal_wrap.o

extensions/gdal_wrap.cpp:2855:22: error: cpl_port.h: No such file or directory

extensions/gdal_wrap.cpp:2856:24: error: cpl_string.h: No such file or directory

extensions/gdal_wrap.cpp:2857:27: error: cpl_multiproc.h: No such file or directory

extensions/gdal_wrap.cpp:2858:22: error: cpl_http.h: No such file or directory

extensions/gdal_wrap.cpp:2860:18: error: gdal.h: No such file or directory

extensions/gdal_wrap.cpp:2861:23: error: gdal_priv.h: No such file or directory

extensions/gdal_wrap.cpp:2862:22: error: gdal_alg.h: No such file or directory

extensions/gdal_wrap.cpp:2863:24: error: gdalwarper.h: No such file or directory

extensions/gdal_wrap.cpp:4870:22: error: gdalgrid.h: No such file or directory

extensions/gdal_wrap.cpp:2880: error: ‘CPLErrorHandler’ does not name a type

extensions/gdal_wrap.cpp:2883: error: expected initializer before ‘PythonBindingErrorHandler’

extensions/gdal_wrap.cpp:2755: warning: ‘swig_module’ defined but not used

error: command 'gcc' failed with exit status 1

/opt/rh/python27/root/usr/include/에서 gdal을 가져오거나 pip가 gcc를 /usr/include/로 지정하도록 하는 올바른 방법은 무엇입니까?

답변1

수정하여 가상 환경에서 작동하도록 만들었습니다.이 방법.

두 가지 질문이 있습니다. 먼저, gdal 모듈 버전 1.9.1을 독점적으로 사용해야 했습니다. 1.10.0 및 1.11.0은 Redhat과 함께 제공되는 핵심 gdal 라이브러리 버전 1.9.2에서 작동하지 않습니다. 둘째, -I/usr/include/gdal을 gcc에 전달해야 합니다. 순서는 다음과 같습니다.

# you might need to do a sudo -s if your virtualenv is owned by root.
scl enable python27 bash
cd $VIRTUENV_ROOT
source bin/activate
pip install --no-install gdal==1.9.1
cd build/gdal
python setup.py build_ext \
  --gdal-config=/usr/bin/gdal-config \
  --include-dirs=/usr/include/gdal/
python setup.py install

가상 환경이 꼭 필요한 것은 아니지만 전역 Python 빌드 폴더가 어디에 있는지 모르겠습니다.

관련 정보