Mac OS X의 Python Virtualenv에 GEOS, PROJ, GDAL / OGR 설치


12

Mac OS X의 GIS 프로젝트에서 작동하도록 격리 된 python virtualenv를 설정하려고합니다. 여기 kyngchaos 사이트 ( http://www.kyngchaos.com/) 에서 GEOS, PROJ, GDAL / OGR을 설치해야합니다 . 소프트웨어 / 프레임 워크 및 내 가상 환경에 쉽게 설치되지 않습니다. 정확합니까?

kyngchaos에서 사용 가능한 다운로드는 pkg 설치 프로그램이며 python 모듈의 계란이나 Bdist가 아닙니다. 따라서 설치 프로그램이 파일을 /Library/Framework/geos.framework폴더에 복사하는 것 이외의 환경에서 수행하는 다른 작업에 대해서는 잘 모르겠습니다 .

새 파이썬 가상 환경에 특정 버전의 GEOS, PROJ, GDAL / OGR을 설치하려면 어떻게해야합니까? 이 문제에 대한 귀하의 도움 / 제안에 감사드립니다.

답변:


4

Kyngchaos의 각 프레임 워크가 PATH에 있으면 쉽습니다. 모든 프레임 워크에는 Unix 폴더가 있으며 개인 Python 환경에서도 pyproj 또는 geos python과 같은 것을 컴파일하기위한 라이브러리가 있습니다 (문제는 없었습니다)

유일한 문제는 Gdal 파이썬이 Gdal 프레임 워크에 있다는 것입니다. 그러나 사이트 패키지에는 gdal.pth 파일이 있습니다.

gdal.pth 파일 :

import sys; sys.path.insert(0,'/Library/Frameworks/GDAL.framework/Versions/1.7/Python/site-packages')

직접 컴파일하지 않으려면이 파일을 격리 된 python virtualenv에 복사하십시오.


타사 설치 프로그램 (fink / macports / 무엇이든) 및 기타 방법을 통해 수동으로 해당 프로젝트를 설치 한 경우 가장 좋은 방법은 Kynchaos를 이용하는 것입니다. +1000
Ragi Yaser Burhum

@Ragi Yaser Burhum – 나는 당신의 의견에 동의하기 시작했습니다! Python에서 Cartopy를 실행하는 데 필요한 종속성을 설치하기 위해 Fink를 사용하려고했습니다. libgeos_c.dylib가 /sw/opt/libgeos3.6.1/lib에 있고 .bash_profile에 해당 경로를 추가 한 경우에도 "OSError : lib geos_c를 찾거나 해당 변형을로드 할 수 없습니다"가 표시됩니다. 나는 당신이 핀킹에 대한 당신의 경험을 바탕으로 지혜의 진주를 가지고 있다고 생각하지 않습니까?
user1718097

@use use Homebrew :)
Ragi Yaser Burhum 2016 년

@RagiYaserBurhum ;-)
user1718097 2016 년


3

Virtualenv를 사용하면 개인 Python 환경 을 프로비저닝 할 수 있지만 Python 유니버스 외부의 시스템 라이브러리로는 확장되지 않습니다. 언급 한 세 가지 패키지는 모두 핵심 C / C ++ 응용 프로그램이므로 Python과 함께 사용할 인터페이스가 있지만 C 라이브러리 (libc on up)와 상호 작용하지 않으면 패키지화 할 수 없습니다.

패키지를 처음부터, 특히 OS X에서 처음부터 설치하기가 어렵 기 때문에 VirtualBox 와 같은 것을 사용하여 샌드 박스 가상 머신을 실행하고 샌드 박스 머신 에서 apt를 통해 패키지를 설치하는 것이 좋습니다 . OS X, 아마도 노력할 가치가 없습니다.


이것은 좋은 추천입니다. 나는 VirtualBox가 아닌 Fusion을 사용 하여이 접근법을 따랐지만 다음에 Virtual Box를 시도 할 수 있습니다. 상자에서 OS로 CentOS를 사용했습니다. (안정적인 특성과 이전 버전의 Python 등으로 인해 최상의 OS 선택이 아님)
DavidF

3

OSX를 사용해야하는 경우 homebrew 를 설치하여 설치 복잡성을 쉽게 피할 수 있습니다 !

이 후 입력해야하는 유일한 명령은 다음과 같습니다.

brew install gdal

proj와 geos도 gdal 의존성이므로 자동으로 설치됩니다.


3
나는 이것이 virtualenv 내에서 gdal에 접근하는 문제를 해결하지 못한다고 생각한다 (나는 그것을 시도했지만 작동하지 않았다)
djq

1
당신이 사용할 수있는 brew install gdal한 당신은 --system-사이트 패키지 플래그와 venv을 만들 때, 여기에 내 대답을 참조 gis.stackexchange.com/a/345248/155269을
88jayto

1

내 경우에 효과가 있었던 다른 솔루션을 제공하는 좋은 블로그 게시물을 찾았습니다.

http://linfiniti.com/2013/02/installing-python-gdal-into-a-python-virtualenv-in-osx/

블로그 게시물과의 유일한 차이점은 kyngchaos 패키지와 일치하는 올바른 버전의 GDAL을 다운로드하는 것입니다. 필자의 경우 GDAL 프레임 워크 버전 1.10을 사용하고 있었으므로 다음 설치가 성공했습니다.

source venv/bin/activate
pip install --no-install GDAL==1.10.0
cd venv/build/GDAL
python setup.py build_ext\
    --gdal-config=/Library/Frameworks/GDAL.framework/Versions/1.10/unix/bin/gdal-config\
    --library-dirs=/Library/Frameworks/GDAL.framework/Versions/1.10/unix/lib/\
    --include-dirs=/Library/Frameworks/GDAL.framework/Versions/1.10/Headers/

그런 다음 GDAL 디렉토리를 그대로두고 다운로드하지 않고 설치하십시오.

cd ~
pip install --no-download GDAL

업데이트 : 컴파일 단계가 작동하려면 setup.py를 호출하기 전에 일부 env 변수를 추가해야 할 수도 있습니다 ( 이 질문 참조 )

export CFLAGS=-Qunused-arguments export CPPFLAGS=-Qunused-arguments

0

위 의 Yellowcap의 대답 은 약간의 조정으로 저에게 효과적 이었습니다.

pip install --no-install은 더 이상 옵션이 아닙니다. 대신 env 디렉토리 내에서 :

pip download GDAL==1.11.2 (or whichever version you want)

다운로드 한 디렉토리의 압축을 풀고 CD를 넣으십시오.

tar -zxvf GDAL-1.11.2.tar.gz
cd GDAL-1.11.2

pip install --no-download는 더 이상 옵션이 아닙니다. 대신 GDAL 디렉토리에 머무르고 다음을 실행하십시오.

python setup.py build
python setup.py install

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.