ArcGIS 10.1 용 SP1에는 백그라운드 지오 프로세싱을위한 64 비트 Python 용 확장 기능이 있습니다. 이는 다른 Python 사용에 대한 영향


12

경우 는 ArcGIS 데스크탑 10.1sp1 64 비트 배경 지오 프로세싱이 설치되어 어떻게 일반적인 사용을위한 파이썬 구성에 영향을 미치는가?

Esri는 ArcGIS 10.1 제품 용 SP1을 릴리스했으며 데스크탑 구성 요소는 64 비트 Python 2.7.2 인스턴스를 사용할 수있게함으로써 설치시 Esri 32 비트 Python 2.7 호출을 백그라운드 지오 프로세싱 (처리 된 발송 처리)에 대한 64 비트 호출로 대체합니다. 활성 ArcGIS Desktop GUI 세션의 측면).

설치는 선택 사항입니다. 즉, ArcGIS Desktop이 없으면 32 비트 사용자 메모리 공간 만 사용 가능합니다. 이를 통해 Esri 프로그램 폴더에 \ bin64 항목이 생성되고 "데스크톱 배경 지리 처리 (64 비트) 용 HKEY_LOCAL_MACHINE \ SOFTWARE \ ESRI \ ArcGIS 10.1 SP1"(64 비트) "에서 64 비트 처리를위한 레지스트리 키가 설정되고 배경 지리 처리가 수행됩니다. 64 비트 메모리 공간에서 수행됩니다.

Esri의 32 비트 및 현재 64 비트 Python은 전체 2.7.2 설치입니다.

백그라운드에서 Esri 레지스트리를 지오 프로세싱하는 동안 경로 및 구성 파일은 64 비트 Python 실행 파일을 호출합니다. 32 비트 Python의 사용은 필요한 경우 ArcGIS Desktop 세션에서 유지됩니다.

따라서 각 사용자에게 남은 것은 설치된 64 비트 Python 2.7.2를 ArcGIS 외부의 컴퓨팅 요구에 통합할지 여부를 결정하는 것입니다. 그리고 32 비트와 64 비트 버전의 파이썬이 모두 시스템에 상주 할 때 어떻게해야합니까?

또 다른 방법으로 요청-Esri는 ArcGIS Desktop 내에서 64 비트 Python의 통합을 처리하므로 ArcGIS 이외의 나머지 사용 사례에 맞게 구성하는 방법은 무엇입니까?


궁금한 점은 Process Monitor 또는이 패키지를 사용하여이 패키지의 설치를 모니터링 했습니까? 그 일을 생각하고있었습니다.
blah238

아니요, 방금 파일 시스템 및 레지스트리의 변경 사항을 검토했습니다
V Stuart Foote

3
64 비트 백그라운드 지오 프로세싱 성능 테스트 전과 후에 빠른 작업 을 수행했습니다. 약간의 (10 %) 개선 만 예상 한 것인지 확실하지 않습니다.
PolyGeo

4
@Arabella-32 비트로 스와핑하여 더 빠른 결과를 기대하지는 않으며 10 % 개선 링크는 통계적으로 중요하지 않습니다. 주요 차이점은 64 비트 버전은 지오 프로세스가 4GB 이상의 RAM을 사용할 수 있다는 것입니다. 다른 것은 접할 것입니다.
GIS-Jonathan

2
@PolyGeo-기본적으로 32 비트와 64 비트의 핵심 차이점은 32 비트 응용 프로그램은 4GB 이상의 RAM을 사용할 수 없다는 것입니다 (단지 해결할 수는 없습니다. 실제로 플래그와 내용에 따라 Windows에서 2GB 또는 3GB 일 가능성이 더 높습니다). 어쨌든 32 비트와 64 비트의 이점을 실제로 보려면 ~ 4GB 이상의 RAM을 사용하는 테스트를 수행해야합니다. 물론 ESRI가 버전간에 최적화를 할 수 있지만 32/64 비트 연령 자체는 코어 수준에서 RAM 사용 만 처리합니다.
GIS-Jonathan

답변:


1

따라서 각 사용자에게 남은 것은 설치된 64 비트 Python 2.7.2를 ArcGIS 외부의 컴퓨팅 요구에 통합할지 여부를 결정하는 것입니다. 그리고 32 비트와 64 비트 버전의 파이썬이 모두 시스템에 상주 할 때 어떻게해야합니까?

내가 이해했듯이 다른 버전의 파이썬을 구별하고 필요에 따라 사용할 수있는 방법을 묻고 있습니다.

가장 쉬운 방법은 스크립트를 실행하는 데 사용할 인터프리터를 정확하게 지정하는 것입니다. 자세한 내용은 SO q / a 에서 확인할 수 있습니다 .


어떤 의미에서. 그러나 스크립팅 중에 프로그래밍 방식 으로이 작업을 수행하는 데 더 관심이 있습니다. PYTHONHOME 및 PYTHONPATH를 전환 한 다음 sys.path.append () 호출 또는 site.addsitedir ()을 사용하여 시스템을 재구성하여 32 비트 또는 64 비트 Python을 사용하도록 시스템을 재구성하는 방법. 하나의 파이썬 버전 또는 다른 파이썬 버전을 호출하는 SO Q / A 제안은 일종의 거친 것입니다. 사이트 모듈을 유연하게 사용하고 IDE에서 안정적으로 작동하는 데 어려움이있을 것입니다. 간단한 경로 및 사이트 패키지 조작 외에도 32 비트 및 64 비트 환경의 virtualenv로 여러 Python 구성을 가질 수 있습니다.
V Stuart Foote

스크립트에서 서브 프로세스 모듈을 사용하여 명령 행에서 필요한 인터프리터 (x32 또는 x64)로 호출하여 다른 파이썬 스크립트의 실행을 호출 할 수 있습니다 .
Alex Markov

0

나에게 이것은 이것이 필요한 것입니다 ... 그리고 나는 모든 것이 '제대로'작동하고 있는지 확실하지 않습니다. 64 비트 백그라운드 지오 프로세싱 도구를 설치하고 PYTHONPATH를 변경하여 (예 : 기본 파이썬), 모든 것이 insde ArcMap (예 : 32 비트 콘솔 파이썬)을 위반 한 것으로 보입니다. 그래서 나는 다음과 같은 해결 방법을 생각해 냈습니다. YMMV

1) 64 비트 백그라운드 지오 프로세싱 도구를 다운로드하여 실행하십시오. 다행히도 한 번 찾았습니다! 링크를 다시 찾지 못하는 것 같습니다 ...

2) PYTHONPATH 시스템에 다음을 추가하십시오 (기본적으로 64 비트를 사용한다고 가정). .1 \ lib \ plat-win; C : \ Python27 \ ArcGISx6410.1 \ lib \ lib-tk; C : \ Python27 \ ArcGISx6410.1; C : \ Program Files (x86) \ ArcGIS \ Desktop10.1 \ bin64; C : \ 프로그램 파일 (x86) \ ArcGIS \ Desktop10.1 \ arcpy; C : \ 프로그램 파일 (x86) \ ArcGIS \ Desktop10.1 \ ArcToolbox \ Scripts

3) Arcmap Python의 시작 스크립트를 작성하여 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

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.