विंडोज पर QGIS के लिए 3rd पार्टी अजगर लाइब्रेरी कैसे स्थापित करें?


18

मैं विंडोज पर QGIS प्लगइन्स पर 3 पार्टी लाइब्रेरी का उपयोग कैसे कर सकता हूं? मैंने एक प्लगइन विकसित किया है जो एक ग्राहक के लिए rasterio और numpy का उपयोग करता है, लेकिन उसे rasterio और numpy स्थापित करने में समस्या हो रही है।

वास्तव में रैस्टरियो और न्युपी इसे मुख्य प्रणाली पायथन (C: \ Python27) में स्थापित किया गया था, लेकिन मुझे इसे पहचानने के लिए QGIS पायथन की आवश्यकता है।

यह कैसे किया जा सकता है?

जवाबों:


23

QGIS, जैसा कि OSGeo4W द्वारा वितरित किया गया है, आमतौर पर अपने स्वयं के पायथन इंस्टॉलेशन और अपने स्वयं के पैकेज के साथ आता है जो आपके "नियमित" पायथन इंस्टॉलेशन से स्वतंत्र होते हैं।

OSGeo4W वितरण में पायथन पैकेज को स्थापित करने का सबसे आसान तरीका OSGeo4W शेल को खोलना और वहां से पाइप का उपयोग करना है। यह पायथन वितरण QGIS उपयोग में पैकेज स्थापित करेगा, मेरे मामले में C:\OSGeo4W64\apps\Python27\और तदनुसार मॉड्यूल C:\OSGeo4W64\apps\Python27\Lib\site-packages। आप OSGeo4W शेल और अपने नियमित विंडोज शेल (cmd.exe) के pip listअंदर एक नियमित रूप से भी कर सकते हैं और आउटपुट की तुलना करके देख सकते हैं कि आपके पास कौन से पैकेज गायब हैं।

यदि आप दो पायथन इंस्टॉलेशन के लिए पैकेज स्थापित नहीं करना चाहते हैं, तो आप एक इंस्टालेशन से दूसरे में पैकेज को शामिल करने के लिए पायथनपैथ को बदलने की कोशिश कर सकते हैं ।

संपादित करें: यह उत्तर विंडोज में QGIS के साथ उपयोग किए जाने वाले मॉड्यूल को स्थापित करने के लिए पाइप के संबंध में मूल प्रश्न पर निर्देशित है । ओपी ने तब से सवाल को संपादित / परिष्कृत किया है, इसलिए यह जवाब थोड़ा व्यापक है।


3
OSGeoW खोल मैं में पिप उपयोग करने के लिए करना थाpython -m pip install wheel setuptools c:\path\to\rasterio-<ver>-win_amd64.whl
चिप

13

Numpy QGIS (स्टैंडअलोन संस्करण, OSGeo4W संस्करण) में डिफ़ॉल्ट रूप से स्थापित है। के लिए rasterio , वहाँ कई समस्याएं हैं। मुझे पता है कि रैस्टोरियो शक्तिशाली और प्रयोग करने में आसान है (मैं इसका उपयोग करता हूं) लेकिन क्यूजीआईएस प्लगइन में रैस्टोरियो क्यों है जबकि आपके पास PyQGIS के सभी कार्य हैं? (यह पायथन शेल के लिए या स्क्रिप्ट के लिए डिज़ाइन किया गया था, क्यूजीआईएस / पायक्यूजीआईएस के साथ प्रयोग नहीं किया जाना चाहिए, जैसे आकृति के लिए फियोना )

लिनक्स या मैक ओएस एक्स (यूनिक्स सिस्टम) में, क्यूजीआईएस मानक पायथन इंस्टॉलेशन (क्यूजीआईएस से स्वतंत्र) का उपयोग करता है और यदि पायथन मॉड्यूल को स्थापित या अपग्रेड करना आसान है (डिफ़ॉल्ट रूप से स्थापित कई कंपाइलर भी हैं)

विंडोज में, पायथन डिफ़ॉल्ट रूप से स्थापित नहीं है, और QGIS अपना स्वयं का संस्करण स्थापित करता है। प्योर पायथन मॉड्यूल (बिना C, C ++ लाइब्रेरी) स्थापित करने के लिए आपके पास समाधान ( QGIS स्टैंडअलोन और पायथन मॉड्यूल हैं , Python setuptools को OSGeo4W पायथन में स्थापित करना या OSGeo4W में PySAL स्थापित करना )

लेकिन उन मॉड्यूल के लिए जिन्हें संकलित करने की आवश्यकता है (डिफ़ॉल्ट रूप से कोई संकलक नहीं), यह आसान नहीं है। आप QGIS Python site_folder में अपने स्थापित मॉड्यूल को कॉपी / पेस्ट करने की कोशिश कर सकते हैं लेकिन समस्याएं हैं।

रैस्टोरियो को एक स्थापित GDAL लाइब्रेरी के खिलाफ संकलित करने की आवश्यकता है और यदि आप इसे Python एक्सटेंशन पैकेज के लिए Christoph Gohlke Unofficial Windows Binaries से इंस्टॉल करते हैं , उदाहरण के लिए, मुझे यकीन नहीं है कि QDIS द्वारा उपयोग किए जाने वाले GDAL का संस्करण समान है (संदर्भ के संदर्भ के लिए) dll पुस्तकालयों)

यदि आप विशेष रूप से सुन्न और रैस्टोरियो का उपयोग करते हैं, तो एक स्वतंत्र स्क्रिप्ट क्यों नहीं?


1 लिंक काम नहीं करता है
निकलता है

ठीक किया, धन्यवाद और मैंने विशिष्ट रैस्टोरियो समस्या के लिए पाठ को संशोधित किया
जीन

उपयोगकर्ता को QGIS से इसका उपयोग करने की आवश्यकता थी। इसके अलावा, QGIS पर रेखापुंज कैलकुलेटर टूट गया था, इसलिए मैं सीधे उपयोग करने में सक्षम नहीं था।
जॉर्ज सिल्वा

0

Qgis 2.18.28 के अजगर 2.7.14 कंसोल के भीतर से, यह मेरे लिए काम करता है। यह निरपेक्ष अजगर पथ के साथ संकेतों का उपयोग करने से बचा जाता है।

import subprocess
subprocess.check_call(['python', '-m', 'pip', 'install', 'openpyxl'])

पाइप डेवलपर्स के अनुसार, pip.main या pip._internal.main समर्थित नहीं हैं। https://pip.pypa.io/en/stable/user_guide/#use-pip-from-your-program मैंने सुझाए गए sys.executable को 'python' में संशोधित किया, क्योंकि Qis में यह qgis ही है।

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