Enthought Canopy에서 Esri ArcPy 모듈에 액세스하는 방법?


10

Windows 시스템에서 ArcGIS 10.1을 실행하고 있으며 새로운 32 비트 Canopy Express Enthought Python Distribution도 설치했습니다.

Canopy에서 Esri ArcPy 모듈을로드하고 사용할 수 있습니까?


첫 번째 답변의 솔루션을 사용하고 완벽하게 작동했지만 캐노피 x64가 필요합니다. 캐노피 x64 에서이 lib를 가져올 수있는 방법이 있습니까?
Μανώλης Παναγιωτάκης

답변:


20

시스템 PATH 또는 PYTHONPATH를 혼동하지 않는 쉬운 방법이 있습니다.

Canopy x32를 포함한 Enthought Python Distributions는 독립형이며 레지스트리 또는 환경 변수에 아무것도 필요하지 않습니다. 따라서 ArcGIS 10.1과 함께 제공되는 것과 같은 다른 Python 배포판과 잘 어울릴 수 있습니다.

Enthought Canopy에서 ArcGIS 10.1 Python 모듈에 액세스하려면 : CanGIy 사용자 디렉토리에 ArcGIS 10.1 Python 모듈을 가리키는 "경로"파일을 작성하십시오. 내 시스템에서 arcpy.pth다음 4 줄로 된 텍스트 파일을 만들었습니다 .

# .pth file for arcpy
C:\ArcGIS\Desktop10.1\bin
C:\ArcGIS\Desktop10.1\arcpy
C:\ArcGIS\Desktop10.1\ArcToolbox\Scripts

arcpy.pth캐노피 사용자 사이트 패키지 디렉토리에 넣습니다 .

C:\Users\rsignell\AppData\Local\Enthought\Canopy32\User\lib\site-packages

ArcGIS 10.1에서 Enthought Canopy 모듈에 액세스하려면 : Arc site-packages 폴더에 Canopy python 모듈을 가리키는 "경로"파일을 만듭니다. 내 시스템에서 epd.pth다음 세 줄로 된 텍스트 파일을 만들었습니다 .

# .pth file for EPD Canopy
C:\Users\rsignell\AppData\Local\Enthought\Canopy32\User\Lib\site-packages
C:\Users\rsignell\AppData\Local\Enthought\Canopy32\System\Lib\site-packages

그런 다음 epd.pthArc site-package 폴더에 넣습니다 .

C:\Python27\ArcGIS10.1\Lib\site-packages

그게 내가 필요한 전부 야!

-풍부한

PS Enthought Canopy 1.0과 ArcGIS10.1은 동일한 버전의 Python (2.7)과 Numpy (1.6.1)이기 때문에 작동합니다. 이 호환성을 계속 유지할 수 있기를 바랍니다.

업데이트 : 방금 Numpy 1.7.1을 사용하는 Canopy 1.0.3으로 이것을 시도했지만 ArcGIS 10.1이 Numpy 1.6.1에 있더라도 여전히 작동합니다. 만세! 야!


3
몇 가지 참고 사항 : 1. ArCGIS Desktop과 함께 사용할 EPD / Canopy x32를 설치했는지 확인하십시오. 2. pth 파일은 알파벳 순서로로드되므로 충돌을 피하기 위해 "zzArcGIS.pth"(캐노피 사이트 패키지 폴더) 및 "zzEPD.pth"(ArcGIS 사이트 패키지 폴더)라는 파일 이름을 지정했습니다. 3. ArcGIS Desktop x64 Background GP 또는 ArcGIS Server (Python x64를 사용하는)를 사용하는 경우 64 비트 EPD / Canopy를 설치하고 64 비트 EPD 및 ArcGIS Python 사이트 패키지 폴더를 가리키는 .pth 파일을 추가해야합니다. .
커티스 가격

3

그렇습니다. 다음은 내 컴퓨터에서 동일한 작업을 수행하는 데 사용 된 내부 설치 안내서에서 발췌 한 내용입니다 (특정 컴퓨터에 적용하십시오).


EPD 환경 구성

  1. 사용자 변수에 새 PATH를 추가하십시오 (EPD를 PATH 앞에 추가).

    (사용중인 EPD 또는 ArcGIS 버전에 따라 아래 경로를 편집하십시오) PATH=C:\Python27_epd32;C:\Python27_epd32\Scripts;%PATH%

  2. ArcGIS가 설치된 경우 PYTHONPATH 환경 변수를 설정하여
    ArcGIS가 EPD 모듈을 가져올 수 있고 EPD가 ArcPy를 가져올 수 있도록합니다.

    PYTHONPATH= C:\Python27_epd32\lib\site-packages; C:\ArcGIS\Desktop10.1\bin; C:\ArcGIS\Desktop10.1\arcpy; C:\ArcGIS\Desktop10.1\ArcToolbox\Scripts

EPGI와 충돌하는 ArcGIS에 문제가 발생하면 PYTHONPATH에서 EPD에 대한 참조를 제거하여 ArcGIS 환경에서 EPD를 쉽게 제거 할 수 있습니다.


기권! 아래 단계가 과거에 저에게 도움이되었지만 DOS에 정통한 사람은 아니며 IT 부서의 누군가와 상담하여 조언이 나쁘지 않게하는 것이 좋습니다. 그 말로, 계속 읽으십시오 ...

DOS 명령 프롬프트 (모든 프로그램> 보조 프로그램> 명령 프롬프트)를 사용하여 환경 변수에 경로를 추가하는 것은 매우 간단합니다. 명령 setx을 사용하여 사용자 PATHPYTHONPATH환경 변수 를 영구적으로 변경합니다 .

명령 프롬프트에서 " echo %PATH%"; PATH변수 인 문자열을 인쇄 합니다. 본질적으로 긴 문자열입니다. 이제 PYTHONPATH변수를 사용하여 그 안에 무엇이 있는지 보십시오 . 해당 변수의 각 경로는 세미콜론 ( ;)으로 구분됩니다 . 이러한 변수에 새로운 경로를 추가 할 때이를 포함시켜야합니다.

여기에 이미지 설명을 입력하십시오

본질적으로 당신이 할 일은 컴퓨터에 새 변수 PATHPYTHONPATH변수가 새로운 문자열 (경로) (예 C:\Python27_epd32\lib\site-packages;C:\ArcGIS\Desktop10.1\bin;:)과 변수에 이미 저장된 것과 동일하다는 것을 알리는 것입니다.

PATH변수 를 설정하기 위해 실행할 명령 은 다음과 같습니다 setx PATH=C:\Python27_epd32;C:\Python27_epd32\Scripts;%PATH%(이 경로가 시스템에 적용 가능한지 확인하십시오).

여기에 이미지 설명을 입력하십시오

PYTHONPATH변수 를 설정하기 위해 실행할 명령 은 다음과 같습니다 setx PYTHONPATH=C:\Python27_epd32\lib\site-packages;C:\ArcGIS\Desktop10.1\bin;C:\ArcGIS\Desktop10.1\arcpy;C:\ArcGIS\Desktop10.1\ArcToolbox\Scripts;%PYTHONPATH%(이 경로가 시스템에 적용 가능한지 확인하십시오).

참고 : 해당 명령 끝에 " %PATH%"및 " %PYTHONPATH%"를 추가해야 합니다. 그렇지 않으면 새 경로로 해당 변수를 덮어 쓰고 현재 내용을 잃게됩니다.


고마워, Jason! 그러나이 작업을 수행하는 방법에 대해 좀 더 자세히 설명해야합니다. 사용자 변수를 어떻게 편집합니까?
SharonB

DOS 명령 프롬프트에서 SETX 명령 ( stackoverflow.com/questions/8358265/…의 두 번째 답변 )을 사용하여 PATH 및 PYTHONPATH 변수에 경로를 영구적으로 추가해야합니다. 올바르게 기억하는 경우 일부 관리 도구를 통해이 작업을 수행 할 수도 있지만 작업 컴퓨터에 사용할 권한이 없으므로 일반적으로 DOS 창을 사용합니다.
Jason

다시 한 번 감사드립니다 ... IDLE에서 주로 일하는 초보자 (DOS 명령 프롬프트를 건드리지 않음)는 새로운 PATH 및 PYTHONPATH 환경 변수를 추가하는 방법에 대해 알지 못합니다. 아마도 DOS가 아닌 GUI를 통해 스크린 샷 및 / 또는 옵션을 수행 할 수 있습니까?
SharonB

우와 감사합니다. 이것은 인상적입니다. 대단히 감사합니다. 어떻게 진행되는지 알려 드리겠습니다.
SharonB

Hehe, 그것은 간단한 과정이지만 모든 경로 때문에 복잡해 보입니다! 당신의 모든 일이 함께 되었으면 좋겠습니다.
Jason
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.