मैक ओएस एक्स पर एक अजगर virtualenv में GEOS, PROJ, GDAL / OGR स्थापित करना


12

मैं अपने मैक ओएस एक्स पर जीआईएस परियोजनाओं पर काम करने के लिए एक अलग अजगर वर्चस्व स्थापित करने की कोशिश कर रहा हूं। मुझे लगता है कि मुझे यहां केओंगचोस साइट से GEOS, PROJ, GDAL / OGR स्थापित करने की आवश्यकता होगी। http://www.nyngchaos.com/ सॉफ्टवेयर / चौखटे और easy_install मेरे virtualenv में नहीं। क्या यह सही है?

Kyngchaos पर उपलब्ध डाउनलोड pkg इंस्टालर हैं और न कि केवल एक अंडा या अजगर मॉड्यूल के bdist हैं। इसलिए, मुझे बहुत यकीन नहीं है कि इंस्टॉलर केवल /Library/Framework/geos.frameworkफ़ोल्डर में फ़ाइलों की प्रतिलिपि बनाने के अलावा पर्यावरण के लिए क्या कर रहा है ।

मैं अपने नए अजगर virtualenv में GEOS, PROJ, GDAL / OGR का एक विशिष्ट संस्करण स्थापित करने के बारे में कैसे जाऊँगा? मैं इस मुद्दे पर आपकी मदद / सुझाव की सराहना करूंगा।

जवाबों:


4

यदि Kyngchaos का प्रत्येक फ्रेमवर्क PATH में है, तो यह आसान है। हर फ्रेमवर्क में एक यूनिक्स फ़ोल्डर होता है, जिसमें लाइब्रेरी के लिए, जहां भी आप चाहते हैं, पीपरोज या जियोस पायथन जैसी चीजों के संकलन के लिए, यहां तक ​​कि एक निजी पायथन वातावरण में (मुझे कभी कोई समस्या नहीं हुई)

एकमात्र समस्या यह है कि गदल पायथन गदल फ्रेमवर्क में है। लेकिन साइट-संकुल में फ़ाइल gdal.pth है

gdal.pth फ़ाइल:

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

यदि आप इसे स्वयं संकलित नहीं करना चाहते हैं, तो इस फ़ाइल को अपने अलग-अलग पाइथन वर्चुअलेनव में कॉपी करें


उन प्रोजेक्ट्स को हाथ से, 3 पार्टी इंस्टालर्स (फिन्क / मैकपोर्ट्स / जो भी हो) और अन्य माध्यमों से स्थापित करने के बाद मैं आपको गारंटी दूंगा कि सबसे अच्छा तरीका है किंचो! +1000
रागी यासर बुरहुम

@ रागी यासर बुरहुम - मैं आपसे सहमत हूँ! मैं पायथन में कार्टोपी को चलाने के लिए आवश्यक निर्भरता स्थापित करने के लिए फिन्क का उपयोग करने की कोशिश कर रहा हूं। मुझे मिल रहा है: "OSError: lib geos_c नहीं खोज सका या इसके किसी भी वेरिएंट को लोड नहीं कर सका" भले ही libgeos_c.dylib /sw/opt/libgeos3.6.1/lib पर है और मैंने इस रास्ते को tobash_profile में जोड़ा है। मुझे नहीं लगता कि आपके पास अपने अनुभवों के आधार पर बुद्धि के मोती हैं?
user1718097

@ यूज़ का उपयोग करें Homebrew :)
रागी यासर बुरहम

@RagiYaserBurhum ;-)
user1718097

4

मैं virtualenv और zc.buildout का उपयोग करते हुए प्रतिगामी पायथन / C / C ++ GIS वातावरण बनाता हूं। मेरा ichpage https://github.com/sgillies/ichpage प्रोजेक्ट थोड़ा दिनांकित है, लेकिन एक अप-टू-डेट एक के लिए एक टेम्पलेट के रूप में सेवा कर सकता है (जैसे कि मैं अपने प्लीएड्स साइट विकास कार्य और तैनाती के लिए उपयोग करता हूं)। Http://sgillies.net/blog/856/i-can-has-python-and-gis-en एन्वायरनमेंट पर इसके बारे में ब्लॉग पोस्ट ।


3

वर्चुअनव आपको एक निजी पायथन वातावरण का प्रावधान करने की अनुमति देता है, लेकिन पायथन ब्रह्मांड के बाहर सिस्टम पुस्तकालयों तक नहीं है। आपके द्वारा उल्लिखित तीन पैकेज उनके मूल में सभी C / C ++ अनुप्रयोग हैं, इसलिए जब उनके पास पायथन के साथ उपयोग करने के लिए इंटरफेस है, तो उन्हें C पुस्तकालयों (अप करने के लिए lib) के साथ बातचीत किए बिना पैक नहीं किया जा सकता है।

स्क्रैच से उन पैकेजों को स्थापित करने में कठिनाई के कारण, विशेष रूप से ओएस एक्स पर, आप सैंडबॉक्स बॉक्स का उपयोग करके वर्चुअलबॉक्स जैसी किसी चीज़ को चलाने के बारे में सोच सकते हैं और पैकेज को उस सैंडबॉक्स बॉक्स के माध्यम से इंस्टॉल कर सकते हैं: जबकि ऐसा करना संभव है ओएस एक्स, यह शायद प्रयास के लायक नहीं है।


यह एक अच्छी सिफारिश है। मैंने फ्यूजनबॉक्स का उपयोग करते हुए इस दृष्टिकोण का पालन किया, वर्चुअलबॉक्स नहीं, लेकिन मैं अगली बार वर्चुअल बॉक्स की कोशिश कर सकता हूं। मैंने बॉक्स में OS के लिए CentOS का उपयोग किया। (स्थिर प्रकृति और पाइथन के पुराने संस्करणों, आदि के कारण सर्वश्रेष्ठ ओएस पसंद नहीं)
डेविड एफएफ

3

यदि आपको OSX का उपयोग करने की आवश्यकता है, तो आप आसानी से होमब्रे स्थापित करके इंस्टॉलेशन जटिलताओं से बच सकते हैं !

इसके बाद केवल कमांड आपको दर्ज करने की आवश्यकता होगी:

brew install gdal

यह स्वचालित रूप से प्रोज और जियोस भी स्थापित करेगा क्योंकि वे गाल्ड निर्भरता हैं।


3
मुझे विश्वास नहीं है कि यह एक virtualenv के भीतर से गदल तक पहुँचने के मुद्दे को संबोधित करता है (मैंने यह कोशिश की और यह काम नहीं किया)
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/

ब्लॉग पोस्ट के लिए एकमात्र अंतर यह है कि मुझे 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

UPDATE: काम करने के लिए संकलन कदम के लिए setup.py फोन करने से पहले आपको कुछ env var जोड़ना पड़ सकता है ( यह प्रश्न देखें )

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

0

येलोकेप के ऊपर दिए गए जवाब ने मेरे लिए कुछ मामूली मोड़ दिए:

पाइप इंस्टॉल - कोई भी अब विकल्प नहीं है। इसके बजाय, एनवी निर्देशिका के अंदर:

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

पाइप इंस्टॉल --no-download भी अब कोई विकल्प नहीं है। इसके बजाय GDAL निर्देशिका में रहें और चलाएं:

python setup.py build
python setup.py install

0

NextGIS इंस्टॉलर ने गाल्ड, जियोस, प्रोज, आदि और पाइथन बाइंडिंग (पायथन 2.7) को गदल में अलग कर दिया है। सिस्टम लाइब्रेरी पर संस्थापन प्रभावित नहीं (केवल bash_profile में कई पर्यावरण चर)।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.