मेरे virtualenv से QGIS मॉड्यूल का उपयोग कैसे करें


12

मैं एक Ubuntu 14.4 चला रहा हूं और मैंने एक पायथन वर्चुअल वातावरण स्थापित किया है। फिर मैंने कई अजगर पुस्तकालयों (गदल, एलएक्सएमएल, साइकोपग 2 आदि) को स्थापित किया।

मेरे सिस्टम में भी मेरे पास QGIS के लिए मॉड्यूल है। इसलिए जब मैं अजगर को टाइप करता हूं तो मैं इस मॉड्यूल को निम्न प्रकार से आयात कर सकता हूं:

import qgis.core

लेकिन जब मैं अपने virtualenv के माध्यम से ऐसा ही करने की कोशिश करता हूं तो मुझे एक त्रुटि मिलती है: मॉड्यूल नहीं मिला।

जब मैंने virtualenv बनाया था तो मैंने विकल्प के साथ किया था:

virtualenv --no-site-packages env

जो सिस्टम के एनवी से मेरे एनवी को प्रतिबंधित करता है। प्रश्न यह है कि मेरे virtualenv में QGIS मॉड्यूल का उपयोग कैसे किया जाए?


1
यह मदद कर सकता है। अपने आप को आजमाया नहीं, फिर भी।
नैट वनर

1
यह भी मदद कर सकता है। स्वयं इसे आजमाया नहीं है।
मथियास कुह्न

जवाबों:


1

अपना virtualenv बनाने और सक्रिय करने के बाद:

virtualenv --no-site-packages env
source env/bin/activate
pip install [your libs]

आपको अपने QGIS के पायथन इंस्टॉलेशन पथ में PYTHONPATH environnement वैरिएबल को परिभाषित करना होगा।

कृपया परिवर्तन करें [qgispath] अपने qgis के पथ पर:

export PYTHONPATH=/[qgispath]/share/qgis/python

LD_LIBRARY_PATH को सेट करना भी आवश्यक होगा

export LD_LIBRARY_PATH=/[qgispath]/lib

इस त्रुटि को रोकने के लिए

>>> import qgis.core
ImportError: libqgis_core.so.1.5.0: cannot open shared object file: No such file or directory

आपका pythonpath केवल virtualenv, और आपके सत्र के लिए सेट किया गया है। यदि आप इसे इस virtualenv के तहत स्वचालित रूप से सेट करना चाहते हैं, तो आप env/lib/python2.7/site-packages.pth फ़ाइल के साथ एक फ़ाइल बना सकते हैं ।

सबसे सुविधाजनक तरीका है एक पथ विन्यास फाइल को एक निर्देशिका में जोड़ना जो कि पहले से ही पायथन के मार्ग पर है, आमतौर पर ... / साइट-संकुल / निर्देशिका। पथ कॉन्फ़िगरेशन फ़ाइलों में .pth का विस्तार होता है, और प्रत्येक पंक्ति में एकल पथ होना चाहिए जो sys.path में जोड़ा जाएगा। (क्योंकि नए रास्तों को sys.path से जोड़ दिया गया है, अतिरिक्त निर्देशिकाओं में मॉड्यूल मानक मॉड्यूल को ओवरराइड नहीं करेंगे। इसका मतलब है कि आप मानक मॉड्यूल के निश्चित संस्करणों को स्थापित करने के लिए इस तंत्र का उपयोग नहीं कर सकते।) स्रोत

फ़ाइल बनाने और पॉप्युलेट करने के लिए उस तरह से कमांड का उपयोग करें:

cat > [yourVirtualEnv]/lib/python2.7/site-packages/qgispythonpath.pth << /[qgispath]/share/qgis/python

पायथन Qgis रसोई की किताब, और एक संबंधित जवाब सेट pythonpath में मिला

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