Virtualenv에서 ArcGIS 10.0 실행


12

명령 줄 도구와 ArcToolbox 도구가 혼합 된 Python 패키지를 작성 중입니다. Python 개발의 경우, 특히 설치 프로그램 작업시 VirtualEnv를 사용하는 것이 매우 유용합니다. ArcMap 또는 ArcCatalog가 Python에서 현재 VirtualEnv 세션을 인식하도록하는 방법이 있습니까? 따라서 사용자 정의 도구가 실행될 때 c : \ Python26 \ ArcGIS10의 기본 Python 경로 및 패키지 대신 VirtualEnv Python 경로 및 패키지를 사용합니다. .0?

답변:


11

그것은 응용 프로그램에 내장되어 있지 않지만 cmd.exe세션 에서 virtualenv를 설정하는 배치 파일 을 실행 한 다음 동일한 DOS 상자에서 arcmap.exe를 실행하면 virtualenv를 얻을 수 있다고 가정 합니다. ArcMap의 친구가 됩니다 설치의를 포함하는 약간의 경로를 수정 arcgisscripting하고 arcpy.

편집 :이 기능을 사용하려면 데스크톱 앱의 Python 창에서 activate_this 스크립트를 명시 적으로 호출해야합니다. 내가이 VIRTUALENV이 있다면 c:\Users\jason\myenv내가 발행합니다 execfile(r'C:\Users\jason\myenv\Scripts\activate_this.py', {'__file__': r'C:\Users\jason\myenv\Scripts\activate_this.py'})는 ArcGIS 데스크탑 응용 프로그램에서 파이썬 창에서 실행 얻을 수 있습니다.


작동하지 않는 것 같습니다. VirtualEnv 작업 공간을 생성하고 활성화 한 다음 ArcCatalog 내부에서 테스트 할 패키지를 설치했습니다. 여태까지는 그런대로 잘됐다. 이 VirtualEnv 세션에서 Python 셸을 열고 새로 설치된 패키지를 가져 오면 가져 오기가 작동합니다. 그런 다음 ArcCatalog를 시작하고 도구 상자 스크립트에서 이러한 패키지 중 하나를 호출하려고하면 작동하지 않습니다. ArcCatalog 내부의 Python 쉘에서 sys.path를 보면 ArcGIS 10.0의 기본 Python 디렉토리 (C : \ Python26 \ ArcGIS10.0)가 표시됩니다.
SagebrushGIS

4
activate_this.pyArcCatalog 및 친구들의 Python 창에서 VirtualEnv의 동일한 Scripts 디렉토리에서도 스크립트 를 사용하는 방법을 살펴보십시오 . execfile(r'C:\Users\jason\myenv\Scripts\activate_this.py', {'__file__': r'C:\Users\jason\myenv\Scripts\activate_this.py'})ArcMap 내에서 VirtualEnv 부트 스트랩 을 실행 하고 얻을 수있었습니다 .
Jason Scheirer

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