आर्कगिस 10.1 के लिए SP1 की पृष्ठभूमि जियोप्रोसेसिंग के लिए 64-बिट पायथन के लिए विस्तार है - अन्य पायथन उपयोग के लिए निहितार्थ


12

यदि आर्कगिस डेस्कटॉप 10.1sp1 के लिए 64-बिट बैकग्राउंड जियोप्रोसेसिंग स्थापित है, तो यह सामान्य उपयोग के लिए पायथन कॉन्फ़िगरेशन को कैसे प्रभावित करता है?

Esri ने ArcGIS 10.1 उत्पाद के लिए SP1 जारी किया है, और डेस्कटॉप घटक के लिए 64-बिट Python 2.7.2 उदाहरण उपलब्ध कराया है, जो स्थापित होने पर, Esri 32-bit Python 2.7 कॉल की जगह 64-बिट कॉल बैकग्राउंड जियोप्रोसेसिंग (प्रोसेसिंग के लिए भेजा गया) एक सक्रिय ArcGIS डेस्कटॉप GUI सत्र का पक्ष)।

इंस्टॉलेशन वैकल्पिक है - अर्थात इसके बिना आर्कगिस डेस्कटॉप केवल 32-बिट यूजर मेमोरी स्पेस उपलब्ध है। इसके साथ, Esri प्रोग्राम फ़ोल्डर में एक \ bin64 प्रविष्टि की जाती है, और डेस्कटॉप पृष्ठभूमि जियोप्रोसेसिंग (64-बिट) के लिए "HKEY_LOCAL_MACHINE \ ESRI \ ArcGIS 10.1 SP1" में 64 बिट प्रोसेसिंग के लिए रजिस्ट्री कुंजियां स्थापित की जाती हैं और फिर बैकग्राउंड जियोप्रोसेसिंग होती है। 64-बिट मेमोरी स्पेस में किया गया।

एस्री के 32-बिट और अब इसके 64-बिट पायथन दोनों पूर्ण 2.7.2 इंस्टॉलेशन हैं।

बैकग्राउंड जियोप्रोसेसिंग एस्री की रजिस्ट्री के दौरान, पथ और कॉन्फ़िगरेशन फाइलें 64-बिट पायथन निष्पादन योग्य कॉल करने का ख्याल रखती हैं। जहां 32-बिट पायथन का उपयोग आर्कजीआईएस डेस्कटॉप सत्र में रखा जाता है, जहां जरूरत होती है।

इसलिए, प्रत्येक उपयोगकर्ता के लिए जो बचा है, वह तय करता है कि स्थापित 64-बिट पायथन 2.7.2 को आर्किजीस के बाहर उनकी कंप्यूटिंग जरूरतों में एकीकृत करना है या नहीं। और कैसे सबसे अच्छा है कि जब पायथन के 32 और 64 बिट संस्करण सिस्टम पर निवासी हों?

दूसरा रास्ता पूछा - एस्री अपने आर्कगिस डेस्कटॉप के भीतर 64-बिट पायथन के एकीकरण का ख्याल रखता है, इसलिए आर्कजीआईएस से परे उपयोग के बाकी मामलों के लिए इसे कॉन्फ़िगर करने के लिए कौन से तरीके काम करेंगे?


बस जिज्ञासु, क्या आपने इस पैकेज की स्थापना की निगरानी के लिए प्रक्रिया मॉनिटर या कुछ का उपयोग किया है? खुद ऐसा करने की सोच रहा था।
1:23 बजे blah238

नहीं, बस फ़ाइल सिस्टम और रजिस्ट्री में बदलाव की समीक्षा की
वी स्टुअर्ट फूटे

3
मैंने 64 बिट बैकग्राउंड जियोप्रोसेसिंग प्रदर्शन परीक्षण से पहले और बाद में एक त्वरित किया - निश्चित नहीं कि अगर मामूली (10%) सुधार केवल वही हो जो उम्मीद की जानी चाहिए थी।
PolyGeo

4
@ अराबेला - मैं कुछ भी तेज करने के लिए 32 बिट की अदला-बदली की उम्मीद नहीं करूंगा और 10% जुड़ा हुआ लिंक सांख्यिकीय रूप से महत्वपूर्ण नहीं लगता। मुख्य अंतर यह है कि 64 बिट संस्करण जियोप्रोसेस को 4GB से अधिक रैम का उपयोग करने की अनुमति देगा। और कुछ भी मूर्त होगा।
जीआईएस-जोनाथन

2
@PolyGeo - मौलिक रूप से, 32 बिट और 64 बिट के बीच मुख्य अंतर यह है कि 32 बिट एप्लिकेशन 4 जीबी से अधिक रैम का उपयोग नहीं कर सकते हैं (वे बस इसे संबोधित नहीं कर सकते हैं - वास्तव में झंडे और सामान के आधार पर विंडोज पर 2 जीबी या 3 जीबी की अधिक संभावना है)। वैसे भी, वास्तव में 32 बिट बनाम 64 बिट के लाभ को देखने के लिए आपको एक परीक्षण करना होगा जो ~ 4 जीबी से अधिक रैम का उपयोग करेगा। बेशक, ऐसे अनुकूलन हो सकते हैं जो ईएसआरआई ने संस्करणों के बीच किए हों, लेकिन 32/64-वर्ष की आयु केवल अपने मुख्य स्तर पर रैम के उपयोग से संबंधित है।
जीआईएस-जोनाथन

जवाबों:


1

इसलिए, प्रत्येक उपयोगकर्ता के लिए जो बचा है, वह तय करता है कि स्थापित 64-बिट पायथन 2.7.2 को आर्किजीस के बाहर उनकी कंप्यूटिंग जरूरतों में एकीकृत करना है या नहीं। और कैसे सबसे अच्छा है कि जब पायथन के 32 और 64 बिट संस्करण सिस्टम पर निवासी हों?

जैसा कि मैंने समझा कि आप जिस तरह से हम अजगर के विभिन्न संस्करणों को भेद कर सकते हैं और अपनी ज़रूरतों के अनुसार इसका उपयोग करने के लिए कह रहे हैं।

सबसे आसान तरीका यह है कि आप अपनी स्क्रिप्ट को चलाने के लिए जिस दुभाषिया का उपयोग करने जा रहे हैं, उसे बिल्कुल निर्दिष्ट करें। अधिक विवरण इस SO q / a में पाए जा सकते हैं ।


एक अर्थ में। लेकिन मैं पटकथा के दौरान इस कार्यक्रम को करने में अधिक रुचि रखता हूं। PYTHONHOME और PYTHONPATH को कैसे टॉगल करें, और फिर उन्हें 32-बिट या 64-बिट पायथन का उपयोग करने के लिए सिस्टम को फिर से कॉन्फ़िगर करने के लिए sys.path.append () कॉल या site.addsitedir () के साथ हेरफेर करें। केवल एक पायथन संस्करण या किसी अन्य को कॉल करने के लिए SO q / a में सुझाव एक प्रकार का मोटा है। फ़्लेक्सी को लचीले ढंग से साइट मॉड्यूल का उपयोग करने और आईडीई में मज़बूती से काम करने के लिए चुनौती होगी। सरल पथ और साइट-पैकेज हेरफेर से परे, संभव है कि 32-बिट और 64-बिट वातावरण के virtualenv के साथ कई पायथन कॉन्फ़िगर हो।
वी स्टुअर्ट Foote

अपनी स्क्रिप्ट में आप उदाहरण के लिए उपप्रोसेसर मॉड्यूल का उपयोग करके कमांड-लाइन से आवश्यक दुभाषिया (x32 या x64) के साथ कॉल करके अन्य अजगर स्क्रिप्ट के निष्पादन को कॉल करने का प्रयास कर सकते हैं ।
एलेक्स मार्कोव

0

मेरे लिए, यह वही था जो आवश्यक था ... और मुझे अभी भी यकीन नहीं है कि सब कुछ 'ठीक से' काम कर रहा है। जब मैंने 64 बिट बैकग्राउंड जियोप्रोसेसिंग टूल इंस्टॉल किया और उन्हें उपयोग करने के लिए अपने PYTHONPATH को बदल दिया (उदाहरण के लिए डिफ़ॉल्ट पायथन), तो ऐसा लगता है कि उसने सब कुछ इनकोड आर्कपेक (जैसे 32 बिट कंसोल पायथन) को तोड़ दिया। इसलिए मैं निम्नलिखित काम के साथ आया। YMMV

1) 64 बिट पृष्ठभूमि के जियोप्रोसेसिंग टूल को डाउनलोड करें और चलाएं: सौभाग्य से मैंने इसे एक बार पाया! मैं फिर से लिंक खोजने के लिए प्रतीत नहीं कर सकते ...

2) सिस्टम में निम्नलिखित जोड़ें PYTHONPATH (यह मानकर कि आप डिफ़ॉल्ट रूप से 64 बिट का उपयोग कर रहे हैं): C: \ Python27 \ ArcGISx6410.1 \ DLL; C: \ Python27 \ ArcSISx6410.1 \ lib; C: \ Python27 \ ArcGISx641010 .1 \ lib \ plat-win; C: \ Python27 \ ArcGISx6410.1 \ lib \-tk; C: \ Python27 \ ArcGISx6410.1; C: \ Program Files (x86) \ ArcGIS \ Desktop10.1 \ bin64; C: \ Program Files (x86) \ ArcGIS \ Desktop10.1 \ arcpy; C: \ Program Files (x86) \ ArcGIS \ Desktop10.1 \ ArcToolbox \ Scripts

3) आर्कम पायथन के लिए एक स्टार्टअप स्क्रिप्ट बनाएं ताकि यह PYTHONPATH से 64 बिट आयात के साथ भ्रमित न हो

import sys
if sys.executable in ['C:\\Python27\\ArcGIS10.1\\python.exe', 'C:\\Program Files (x86)\\ArcGIS\\Desktop10.1\\bin\\ArcMap.exe']:
    print('Resetting Path')
    sys.path = [
        #python32 for ESRI
        'C:\\windows\\system32\\python27.zip',
        'C:\\Python27\\ArcGIS10.1\\DLLs',
        'C:\\Python27\\ArcGIS10.1\\lib',
        'C:\\Python27\\ArcGIS10.1\\lib\\plat-win',
        'C:\\Python27\\ArcGIS10.1\\lib\\lib-tk',
        'C:\\Python27\\ArcGIS10.1',
        'C:\\Python27\\ArcGIS10.1\\lib\\site-packages',
        'C:\\Program Files (x86)\\ArcGIS\\Desktop10.1\\bin',
        'C:\\Program Files (x86)\\ArcGIS\\Desktop10.1\\arcpy',
        'C:\\Program Files (x86)\\ArcGIS\\Desktop10.1\\ArcToolbox\\Scripts',
        #defaults
        'C:\\Python27\\Lib\\',
        'C:\\Python27\\Lib\\site-packages',
        'C:\\pythonnet'
        ]

import arcpy 
from arcpy import env

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