मैंने एक छोटा (और अपेक्षाकृत लोकप्रिय) मॉड्यूल बनाया जो बंद हो जाता है और आपके पीसी पर आर्कगिस के लिए शिकार करता है। एक बार खोजने के बाद यह पर्यावरण के लिए सही रास्ते जोड़ता है ताकि आप आर्कपी आयात कर सकें। उपयोग इस प्रकार है:
try:
import archook #The module which locates arcgis
archook.get_arcpy()
import arcpy
except ImportError:
# do whatever you do if arcpy isnt there.
मॉड्यूल को यहाँ github पर होस्ट किया गया है:
https://github.com/JamesRamm/archook
यह बहुत सरल है और मुझे यकीन है कि इसे और अधिक मजबूत बनाया जा सकता है, लेकिन यह काम करता है। यह pypi पर उपलब्ध है:pip install archook
अधिक 'मैनुअल' मूल विधि (नीचे विस्तृत) पर इसके कुछ फायदे हैं:
- आपको प्रत्येक अजगर पर्यावरण को अलग से कॉन्फ़िगर करने की आवश्यकता नहीं है ... बस मॉड्यूल आयात करें और आप चले जाएं
- यह किसी भी रजिस्ट्री कुंजी या स्थायी पर्यावरण चर को संपादित / बनाता नहीं है, इसलिए किसी भी मौजूदा अजगर / आर्कगिस कॉन्फ़िगरेशन को गड़बड़ाने का कोई मौका नहीं है।
- आपको विभिन्न फ़ोल्डरों / फ़ाइलों के लिए पथों के बारे में कुछ भी जानने की आवश्यकता नहीं है, या यहां तक कि आपके द्वारा इंस्टॉल किए गए आर्कगिस का भी क्या संस्करण है। मॉड्यूल आप के लिए यह सब मिल जाएगा।
- कोई व्यवस्थापक प्रमाणीकरण की आवश्यकता है
- यह एनाकोंडा के साथ विशिष्ट नहीं है - यह किसी भी अजगर स्थापना के साथ काम करेगा
मैंने नीचे मूल उत्तर छोड़ दिया है, लेकिन यह समाधान (IMO) 100% बेहतर है।
2014 का जवाब
ठीक है, इसलिए यह जवाब विंडोज 7 / विंडोज सर्वर पर आर्कगिस 10.1 64 बिट के साथ एनाकोंडा 64 बिट पायथन वितरण के लिए काम करता है। नीचे दिए गए सुझावों में से कुछ (या सभी) अजगर के किसी भी अन्य विंडोज़ वितरण पर लागू हो सकते हैं। सबसे पहले, एनाकोंडा स्थापित करें, यह निर्देशिका C: \ Anaconda पर जाना चाहिए। बॉक्स 'सिस्टम डिफॉल्ट डिफ़ॉल्ट अजगर' की जाँच करें। यह एक चेतावनी दे सकता है कि एक और अजगर स्थापित है, लेकिन जारी है। फिर:
सेटअप पथ और पर्यावरण चर
पहली बात यह है कि DTBGGP64.pth फ़ाइल को C: \ Python27 \ ArcGISx6410.1 \ Lib \ साइट-पैकेज से नई वितरण निर्देशिका ( C: \ Anaconda ) में कॉपी करें । नामकरण अस्वाभाविक है, लेकिन इसका .pth विस्तार होना चाहिए। यह आपको नए वितरण का उपयोग करते समय आर्कपी आयात करने की अनुमति देगा।
नोट: DTBGGP64.pth फ़ाइल का सही स्थान साइट-पैकेज निर्देशिका (जैसे C: \ Anaconda \ Libs \ site-package ) में होना चाहिए। मैंने पाया है कि एनाकोंडा के कुछ पुराने संस्करणों के साथ, यह काम करता है यदि शीर्ष स्तर की निर्देशिका में बैठा है
, तो पर्यावरण चर की जाँच की जानी चाहिए: सिस्टम चर पथ मेंअजगर मार्ग के लिए मौजूदा पथ को नए पथ से बदला जाना चाहिए। (उदा। C: \ Anaconda; C: \ Anaconda \ Scripts; ) यह उन विंडो को बताएगा जहाँ डिफ़ॉल्ट पायथन डायरेक्टरी है। सुनिश्चित करें कि उपयोगकर्ता चर PYTHONPATH भी सही है। यह आपके द्वारा उपयोग की जाने वाली किसी भी लाइब्रेरी को इंगित करना चाहिए जो कि .pth फ़ाइलों द्वारा वर्णित नहीं हैं या साइट-संकुल में स्थापित हैं । IE यह आपके खुद के विकास पैकेज, या मेकनिक जैसे पैकेज हो सकते हैं, जिनकी एक अलग स्थापना स्थान है।
रजिस्ट्री सेटिंग्स की जाँच करें
कुछ मशीनों पर, उपरोक्त यह सुनिश्चित करने के लिए पर्याप्त हो सकता है कि आप नए अजगर से आर्कपी का उपयोग कर सकते हैं और उस अजगर को आर्कजीआईएस के भीतर इस्तेमाल किया जा सकता है। अन्य मशीनों पर, आपको रजिस्ट्री कुंजियों की जांच करने की आवश्यकता हो सकती है। निम्न रजिस्ट्री कुंजियों में अजगर सेटिंग हैं:
HKEY_LOCAL_MACHINE \ SOFTWARE \ Python \ PythonCore \ 2.7 \ PythonPath
एक कुंजी होनी चाहिए और इसका मान C: \ Anaconda \ Lib होना चाहिए ; C: \ Anaconda / DLL
(या आपके पायथन इंस्टॉलेशन के लिए संगत फ़ोल्डर);
HKEY_LOCAL_MACHINE \ SOFTWARE \ Python \ PythonCore \ 2.7 \ InstallPath
कुंजी C: \ Anaconda होनी चाहिए
आपके पास अन्य पायथन संस्करण स्थापित हो सकते हैं ... जिस स्थिति में उपरोक्त पथों में संस्करण संख्या बदल जाती है
HKEY_CLASSES_ROOT \ Python.CompiledFile \ DefaultIcon
यह .pyc फ़ाइलों के लिए उपयोग करने के लिए .ico फ़ाइल का स्थान है।
HKEY_CLASSES_ROOT \ Python.CompiledFile \ shell \ open \ कमांड
यह शेल से .pyc फ़ाइल खोलने पर जारी करने का आदेश है। आपको python.exe
अपने इच्छित अजगर संस्करण के स्थान का मार्ग बदलना चाहिए
HKEY_CLASSES_ROOT \ Python.File
यहाँ कुंजियाँ Python.CompiledFile के लिए समान हैं, सिवाय इसके कि वे एक .py फ़ाइल पर लागू होती हैं। फिर से, प्रासंगिक परिवर्तन करें। इसमें 'एडिट विद आईडीएल' या 'एडिट विद पायथनविन' की अतिरिक्त कुंजी हो सकती है। फिर से, प्रासंगिक परिवर्तन करें ताकि इन कुंजियों में पथ आपके इच्छित अजगर संस्करण की ओर इंगित करें।
HKEY_CLASSES_ROOT \ Python.NoConFile
ये Python.File के लिए समान हैं, लेकिन pythonw.exe
जहां उचित हो, उस प्रोग्राम को इंगित करना चाहिए ।
HKEY_LOCAL_MACHINE \ SOFTWARE \ ESRI \ Python10.1 PythonDir के प्रमुख बिंदु हैं, जो ArcMap आदि के भीतर उपयोग करने के लिए अजगर की स्थापना
की ओर इशारा करते हैं .. आप चाहें तो ESRI द्वारा स्थापित अजगर के रूप में बने रह सकते हैं, या इसे अपने नए संस्थापन की ओर इंगित कर सकते हैं। यदि आप नए अजगर स्थापना के लिए आर्केप को इंगित करते हैं तो इसमें अन्य परिवर्तनों की आवश्यकता हो सकती है। वहाँ हो सकता है संकुल के संस्करणों (जैसे numpy) नए वितरण द्वारा स्थापित के साथ मुद्दों हो। मेरा कोई सामना नहीं हुआ है।
मेरे अधिकांश काम के लिए, यह अप्रासंगिक है क्योंकि मैं आमतौर पर अजगर का उपयोग करना चाहता हूं और यह कभी-कभी चापलूसी तक पहुंच रखता है। मैं शायद ही कभी arcmap के भीतर से अजगर का उपयोग करना चाहता हूं..कहां तक कि मैंने इस अंतिम चरण का थोड़ा परीक्षण नहीं किया है, लेकिन यह मेरे द्वारा अब तक की कोशिश की गई हर चीज के लिए काम करता है।
मैं कल्पना करता हूं कि पायथन (x, y) आदि को स्थापित करने के लिए प्रक्रिया समान होगी।
अन्य नोट
.Pth फ़ाइल की सामग्री आपके ArcGIS इंस्टॉलेशन में निम्नलिखित फ़ोल्डरों को इंगित करने वाले रास्तों की एक सूची है: Bin64, arcpy, ArcToolbox \ Scripts उदाहरण के लिए, मेरी .pth फ़ाइल में निम्न शामिल हैं:
C:\Program Files (x86)\ArcGIS\Desktop10.2\bin64
C:\Program Files (x86)\ArcGIS\Desktop10.2\arcpy
C:\Program Files (x86)\ArcGIS\Desktop10.2\ArcToolbox\Scripts