SP1 สำหรับ ArcGIS 10.1 มีส่วนขยายสำหรับ Python 64- บิตสำหรับการประมวลผลพื้นหลัง - ความหมายสำหรับการใช้งาน Python อื่น ๆ


12

หากการประมวลผลพื้นหลัง 64 บิตสำหรับ ArcGIS Desktop 10.1sp1 ได้รับการติดตั้งแล้วจะมีผลอย่างไรต่อการกำหนดค่า Python สำหรับการใช้งานทั่วไป

Esri ได้เปิดตัว SP1 สำหรับผลิตภัณฑ์ ArcGIS 10.1 และสำหรับส่วนประกอบเดสก์ท็อปทำให้มีอินสแตนซ์ Python 2.7- บิต 64- บิตที่ว่าเมื่อติดตั้งแทนที่การเรียก Python 2.7 ของ Esri 32- บิตด้วยการเรียก 64 บิตสำหรับการประมวลผลพื้นหลัง ด้านข้างของเซสชัน GUI GUI ของ ArcGIS ที่ใช้งานอยู่)

การติดตั้งเป็นทางเลือก - เช่นไม่มี ArcGIS Desktop ดำเนินการต่อโดยมีพื้นที่หน่วยความจำผู้ใช้ 32 บิตเท่านั้น ด้วยรายการ \ bin64 จะถูกสร้างขึ้นในโฟลเดอร์โปรแกรม Esri และมีการสร้างรีจิสตรีคีย์สำหรับการประมวลผล 64 บิตที่ "HKEY_LOCAL_MACHINE \ SOFTWARE \ ESRI \ ArcGIS 10.1 SP1 สำหรับพื้นหลังการประมวลผลทางพื้นหลังของเดสก์ท็อป (64 บิต)" เสร็จสิ้นในพื้นที่หน่วยความจำ 64 บิต

ทั้ง Esri ของ 32- บิตและตอนนี้ 64- บิต ธ มันเป็น 2.7.2 เต็มการติดตั้ง

ในระหว่างการประมวลผลเบื้องหลังของรีจีสตรี Esri ไฟล์พา ธ และการกำหนดค่าจะดูแลการเรียกใช้งาน Python 64 บิต ในขณะที่ใช้งาน 32-bit Python จะถูกเก็บรักษาไว้ในเซสชัน ArcGIS Desktop เมื่อจำเป็น

ดังนั้นสิ่งที่เหลืออยู่สำหรับผู้ใช้แต่ละคนคือการตัดสินใจว่าจะรวม Python 64-bit 64.2 ที่ติดตั้งไว้ในการคำนวณที่ต้องการนอก ArcGIS หรือไม่ และวิธีที่ดีที่สุดที่จะทำเช่นนั้นเมื่อ Python ทั้งรุ่น 32 และ 64 บิตอาศัยอยู่ในระบบ

ถามอีกวิธีหนึ่ง - Esri ดูแลการรวม Python 64- บิตในเดสก์ท็อป ArcGIS ดังนั้นวิธีใดที่จะทำงานเพื่อกำหนดค่าให้กับส่วนที่เหลือของกรณีการใช้งานที่นอกเหนือจาก ArcGIS?


แค่อยากรู้คุณใช้ Process Monitor หรือบางอย่างเพื่อตรวจสอบการติดตั้งแพ็คเกจนี้หรือไม่? กำลังคิดที่จะทำสิ่งนั้นด้วยตัวเอง
blah238

ไม่เพิ่งตรวจสอบการเปลี่ยนแปลงในระบบไฟล์และรีจิสตรี
V Stuart Foote

3
ฉันทำอย่างรวดเร็วก่อนและหลังการทดสอบประสิทธิภาพการประมวลผลในพื้นหลัง 64 บิต - ไม่แน่ใจว่าการปรับปรุงเล็กน้อย (10%) เพียงอย่างเดียวคือสิ่งที่ควรคาดหวัง
PolyGeo

4
@Arabella - ฉันไม่คาดหวังว่าจะแลกเปลี่ยนกับ 32 บิตเพื่อทำอะไรให้เร็วขึ้นและการเชื่อมโยงการปรับปรุง 10% ดูเหมือนจะไม่มีนัยสำคัญทางสถิติ ข้อแตกต่างที่สำคัญคือรุ่น 64 บิตจะช่วยให้กระบวนการทางภูมิศาสตร์ใช้ RAM มากกว่า 4GB สิ่งอื่นใดจะเป็นแทนเจนต์
GIS-Jonathan

2
@PolyGeo - พื้นฐานความแตกต่างหลักระหว่าง 32 บิตและ 64 บิตคือแอปพลิเคชัน 32 บิตไม่สามารถใช้ RAM ได้มากกว่า 4GB (พวกเขาไม่สามารถพูดได้ - จริง ๆ แล้วมีความเป็นไปได้มากที่ 2GB หรือ 3GB บน Windows ขึ้นอยู่กับธงและสิ่งของ) อย่างไรก็ตามเพื่อดูประโยชน์ของ 32 บิตเทียบกับ 64 บิตคุณจะต้องทำการทดสอบที่จะใช้ RAM มากกว่า ~ 4GB แน่นอนว่าอาจมีการเพิ่มประสิทธิภาพ ESRI ได้ทำระหว่างรุ่น แต่ตัวเองอายุ 32/64 บิตเกี่ยวข้องกับการใช้ RAM ในระดับหลักเท่านั้น
GIS-Jonathan

คำตอบ:


1

ดังนั้นสิ่งที่เหลืออยู่สำหรับผู้ใช้แต่ละคนคือการตัดสินใจว่าจะรวม Python 64-bit 64.2 ที่ติดตั้งไว้ในการคำนวณที่ต้องการนอก ArcGIS หรือไม่ และวิธีที่ดีที่สุดที่จะทำเช่นนั้นเมื่อ Python ทั้งรุ่น 32 และ 64 บิตอาศัยอยู่ในระบบ

ตามที่ฉันเข้าใจว่าคุณกำลังถามวิธีที่เราสามารถแยกความแตกต่างของงูหลามและใช้มันตามความต้องการของเรา

วิธีที่ง่ายที่สุดคือระบุล่ามที่คุณจะใช้ในการเรียกใช้สคริปต์ของคุณ รายละเอียดเพิ่มเติมสามารถพบได้ในนี้ SO Q /


ในความรู้สึก. แต่ฉันสนใจที่จะทำสิ่งนี้อย่างเป็นระบบระหว่างการเขียนสคริปต์ วิธีการสลับ PYTHONHOME และ PYTHONPATH จากนั้นจัดการกับการเรียก sys.path.append () หรือ site.addsitedir () เพื่อกำหนดค่าระบบใหม่ให้ใช้ Python แบบ 32 บิตหรือ 64 บิต คำแนะนำใน SO q / a เพียงแค่เรียกรุ่น Python หนึ่งรุ่นหรือรุ่นอื่นเป็นแบบหยาบ ความท้าทายสำหรับกลเม็ดเด็ดพรายในการใช้โมดูลไซต์อย่างยืดหยุ่นและทำงานได้อย่างน่าเชื่อถือใน IDE นอกเหนือจากเส้นทางที่เรียบง่ายและการจัดการไซต์แพ็กเกจเป็นไปได้ที่จะมีการตั้งค่า Python หลายแบบด้วย virtualenv ของสภาพแวดล้อม 32- บิตและ 64- บิต
V Stuart Foote

ในสคริปต์ของคุณคุณสามารถลองเรียกใช้การดำเนินการของสคริปต์ไพ ธ อนอื่น ๆ โดยเรียกมันด้วย interpreter ที่จำเป็น (x32 หรือ x64) จากบรรทัดคำสั่งโดยใช้โมดูลกระบวนการย่อยตัวอย่างเช่น
Alex Markov

0

สำหรับฉันนี่คือสิ่งที่จำเป็น ... และฉันยังไม่แน่ใจว่าทุกอย่างทำงานได้อย่างถูกต้อง หลังจากที่ฉันติดตั้งเครื่องมือการประมวลผลพื้นหลัง 64 บิตและเปลี่ยน PYTHONPATH ของฉันเพื่อใช้ (จากเช่นไพ ธ อนเริ่มต้น) ดูเหมือนว่ามันจะทำลายทุกอย่างที่ insde ArcMap (เช่น 32 บิตคอนโซลงูเหลือม) ดังนั้นฉันจึงคิดหางานต่อไปนี้ขึ้นมา YMMV

1) ดาวน์โหลดและเรียกใช้เครื่องมือประมวลผลทางภูมิศาสตร์พื้นหลัง 64 บิต: โชคดีที่ฉันพบมันครั้งเดียว! ฉันดูเหมือนจะไม่พบลิงค์อีกครั้ง ...

2) เพิ่มข้อมูลต่อไปนี้ลงในระบบ PYTHONPATH (สมมติว่าคุณใช้ 64 บิตเป็นค่าเริ่มต้น):; C: \ Python27 \ ArcGISx6410.1 \ DLLs; C: \ Python27 \ ArcGISx6410.1 \ lib; C: \ Python27 \ ArcGISx6410 .1 \ lib \ plat-win; C: \ Python27 \ ArcGISx6410.1 \ lib \ 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) สร้างสคริปต์เริ่มต้นสำหรับ Arcmap Python ดังนั้นจึงไม่สับสนกับการนำเข้า 64 บิตจาก PYTHONPATH

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

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.