Mac OS X'te GEOS, PROJ, GDAL / OGR'yi bir python virtualenv'e kurma


12

Mac OS X'imdeki GIS projelerinde çalışmak için yalıtılmış bir python virtualenv kurmaya çalışıyorum. Buradaki kyngchaos sitesinden GEOS, PROJ, GDAL / OGR'yi yüklemem gerekecek gibi görünüyor http://www.kyngchaos.com/ yazılım / çerçeveler ve easy_install'ı sanal arayüzüme yüklemem. Bu doğru mu?

Kyngchaos'ta bulunan indirmeler sadece bir python modülünün yumurtası veya bdist'i değil pkg yükleyicisidir. Yani, yükleyicinin sadece dosyaları /Library/Framework/geos.frameworkklasöre kopyalamaktan başka çevreye ne yaptığından emin değilim .

GEOS, PROJ, GDAL / OGR'nin belirli bir sürümünü yeni python virtualenv'ime nasıl kurabilirim? Bu konudaki yardım / önerilerinizi takdir ediyorum.

Yanıtlar:


4

Kyngchaos'un her bir Çerçevesi PATH'de ise, kolaydır. Her çerçevede, özel bir Python ortamında bile, istediğiniz yerde pyproj veya geos python gibi şeyleri derlemek için kütüphaneler içeren bir Unix klasörü vardır (hiç sorun yaşamadım)

Tek sorun Gdal pitonunun Gdal Çerçevesinde olmasıdır. Ancak site paketlerinde gdal.pth dosyası var

gdal.pth dosyası:

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

kendiniz derlemek istemiyorsanız, bu dosyayı izole python virtualenv'inize kopyalayın


bu projeleri elle, 3. taraf yükleyiciler (fink / macports / ne olursa olsun) ve diğer yollarla yükledikten sonra size en iyi yolun Kynchaos üzerinden olduğunu garanti edeceğim! +1000
Ragi Yaser Burhum

@Ragi Yaser Burhum - Seninle aynı fikirde olmaya başladım! Python Cartopy çalıştırmak için gerekli bağımlılıkları yüklemek için Fink kullanmaya çalışıyorum. "OSError: libgeos_c.dylib /sw/opt/libgeos3.6.1/lib konumunda olmasına rağmen lib geos_c bulunamadı ya da varyantlarından herhangi birini yükleyemedim ve bu yolu .bash_profile 'a ekledim. Fink'teki deneyimlerinize dayanarak bilgelik incileriniz olduğunu düşünmüyorum?
user1718097

@ kullanım homebrew :)
Ragi Yaser Burhum

@RagiYaserBurhum ;-)
user1718097


3

Virtualenv size özel Python ortamı , ancak Python evreninin dışındaki sistem kitaplıklarını kapsamaz. Bahsettiğiniz üç paket, çekirdeklerindeki tüm C / C ++ uygulamalarıdır, bu nedenle Python ile kullanılacak arabirimlere sahip olsalar da, C kütüphaneleriyle (libc on up) etkileşimde bulunmadan paketlenemezler.

Bu paketleri sıfırdan, özellikle OS X'te kurmanın zorluğu nedeniyle, sanal kutu gibi bir sanal makineyi VirtualBox gibi bir şey kullanarak çalıştırmayı düşünebilir ve paketleri o korumalı makineye uygun şekilde kurabilirsiniz: OS X, muhtemelen çabaya değmez.


Bu iyi bir öneri. Bu yaklaşımı VirtualBox değil Fusion kullanarak izledim, ancak Virtual Box'ı bir dahaki sefere deneyebilirim. Kutuda OS için CentOS kullandım. (Python, vb.'nin kararlı yapısı ve eski sürümleri nedeniyle en iyi işletim sistemi seçimi değil)
DavidF

3

OSX kullanmanız gerekiyorsa, homebrew kurarak kurulum karmaşıklıklarından kolayca kaçınabilirsiniz !

Bundan sonra girmeniz gereken tek komut şunlardır:

brew install gdal

Gdal bağımlılıkları olduğu için otomatik olarak proj ve geo'ları da kurar.


3
Ben bu bir virtualenv içinde gdal erişme sorunu
gidermek inanmıyorum

1
brew install gdal--system-site-flags bayrağı ile venv oluşturduğunuz sürece kullanabilirsiniz , cevabımı buraya bakın gis.stackexchange.com/a/345248/155269
88jayto

1

Benim durumumda çalışan başka bir çözüm sağlayan iyi bir blog yazısı buldum:

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

Blog gönderisindeki tek fark, yapmak zorunda olduğum şey, kyngchaos paketleriyle eşleşen doğru GDAL sürümünü indirmektir. Benim durumumda GDAL framework sürüm 1.10 kullanıyordum, bu yüzden aşağıdaki kurulum başarılı oldu

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/

Ardından GDAL dizininden çıkın ve indirmeden yükleyin

cd ~
pip install --no-download GDAL

GÜNCELLEME: Derleme adımının çalışması için setup.py'yi çağırmadan önce bazı env değişkenleri eklemeniz gerekebilir ( bu soruya bakın )

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

0

Yellowcap'ın cevabı yukarıdaki benim için bazı küçük ayarlarla çalıştı:

pip install - no-install artık bir seçenek değil. Bunun yerine, env dizininin içinde:

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

İndirilen dizini açın ve içine cd koyun:

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

pip install - no-download da artık bir seçenek değil. Bunun yerine GDAL dizininde kalın ve çalıştırın:

python setup.py build
python setup.py install

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.