IDLE을 사용할 때 import arcpy 오류 (RuntimeError : NotInitialized)를 피합니까?


11

ArcGIS 버전 : ArcGIS 10, Python 2.6.5 시스템 : Windows 7 64 비트 (Intel)

IDLE (gui 및 cmd 프롬프트)을 사용하여 python을 가져올 때와 pythonwin을 사용할 때 다음 오류가 발생합니다.

내 시스템에서 python26 및 python25를 제거하고 ArcGIS 10 및 python을 새로 설치했습니다. 그러므로 여기서 "C : \ Python26 \ ArcGIS10.0 \ pythonw.exe"로 IDLE을 호출합니다.

오류:

** 유휴 2.6.5

가져 오기 arcpy Traceback (가장 최근 호출 마지막) : 가져 오기 arcpy 파일 "C : \ Program Files (x86) \ ArcGIS \ Desktop10.0 \ arcpy \ arcpy__init __. py"의 17 번째 줄에서 파일 "", 지오 프로세싱 import gp File "C : \ Program Files (x86) \ ArcGIS \ Desktop10.0 \ arcpy \ arcpy \ geoprocessing__init __. py", 14 행, _base import * File "C : \ Program Files (x86) \ ArcGIS \ Desktop10 .0 \ arcpy \ arcpy \ geoprocessing_base.py ", 568 행, env = GPEnvironments (gp) 파일"C : \ Program Files (x86) \ ArcGIS \ Desktop10.0 \ arcpy \ arcpy \ geoprocessing_base.py ", 565 행 GPEnvironments에서 GPEnvironment (geoprocessor) 파일 "C : \ Program Files (x86) \ ArcGIS \ Desktop10.0 \ arcpy \ arcpy \ geoprocessing_base.py", 521 행,초기화 self._refresh () 파일 "C : \ Program Files (x86) \ ArcGIS \ Desktop10.0 \ arcpy \ arcpy \ geoprocessing_base.py", _refresh envset = (set (self._gp.list 환경에서 env의 env) ())) RuntimeError : NotInitialized **

EsriUK 및 Esri 기술 지원팀은 새로운 재설치 및 레지스트리 편집을 권장했지만 작동하지 않았습니다. 나는 그들에게 해결책을 기다리고 있습니다.

모듈 아키 경로 문제인지 여부를 조사했습니다. Esri 포럼경로에 관한 ArcGIS 도움말에 몇 개의 링크가 있습니다. 또한 gis.stackexchange 에서 가능한 관련 스레드입니다 .

Esri 포럼 스레드에서 'kimo'의 조언을 따랐습니다. 그러나 여전히 가져 오기 오류.

  1. 편집 한 내 시스템 변수는 다음과 같습니다. PYTHONPATH = "c : \ python26"; "C : \ Python26 \ ArcGIS10.0"; "C : \ Python26 \ ArcGIS10.0 \ Lib \ site-packages"; " C : \ Program Files (x86) \ ArcGIS \ Desktop10.0 \ arcpy "

  2. "C : \ Python26 \ ArcGIS10.0 \ Lib \ site-packages \ Desktop10.pth"의 내용이 있는지 확인했습니다. 내용은 다음과 같습니다. C : \ Program Files (x86) \ ArcGIS \ Desktop10.0 \ bin C : \ Program Files (x86) \ ArcGIS \ Desktop10.0 \ arcpy C : \ Program Files (x86) \ ArcGIS \ Desktop10.0 \ ArcToolbox \ 스크립트

그러나 추적 메시지는 C : \ Program Files (x86) \ ArcGIS \ Desktop10.0 \ arcpy \ arcpy 폴더에 .py 스크립트가 있음을 나타냅니다. 따라서 해석기에서 arcpy 모듈을 찾았지만 초기화되지 않았 음을 제안합니다 (?).

Arcpy는 ArcMap과 ArcCatalog의 Python Window에서 호출 할 수 있습니다. 'import arcpy'가 실패하는 것은 Python 인터프리터에서 호출 된 경우에만 해당됩니다. 따라서 ArcMap / ArcCatalog에서는 arcpy를 초기화 할 수 있지만 유휴 상태는 아닙니다. 어떻게 할 수 있습니까?

이전에는 python25를 설치 한 다음 python26을 설치 한 후 ArcGIS 10으로 업그레이드했습니다. 따라서 컴퓨터에는 많은 레거시 파이썬이있었습니다. 그러나 ccleaner를 사용하여 모두 제거하고 레지스트리를 청소했습니다.

내가 파이썬에 익숙하지 않아 초기화 / 런타임 오류를 해결할만큼 다른 질문을 제안 할 수 있습니까? OS를 다시 설치하지 않으려 고합니다!



1
이 링크가 도움이되었습니다. import arcpy line 전에 import arcserver를 추가했습니다. myarcgisserver.wordpress.com/2014/04/04/…
G ...... T ......

답변:


5

여기 및 ESRI 포럼의 게시물을 살펴보면 약간의 환경 설정이 있다고 생각합니다.

C : \ Python26 \ ArcGIS10.0을 시스템 PATH 변수에 넣으면 IDLE, PythonWin 또는 명령 줄에서 올바른 실행 파일로 이동합니다.

PYTHONPATH가 비어있을 수 있습니다. 또는 Desktop10.pth 파일의 3 스탠자를 포함 할 수 있습니다. C : \ Program Files (x86) \ ArcGIS \ Desktop10.0 \ bin C : \ Program Files; (x86) \ ArcGIS \ Desktop10.0 \ arcpy; C : \ Program Files (x86) \ ArcGIS \ Desktop10.0 \ ArcToolbox \ Scripts--이 경로는 모듈의 기본 검색보다 우선합니다 (python.exe 또는 pythonw.exe 아래).

마지막으로 여러 버전의 Python을 제거하고 설치했기 때문입니다. 이 시점에서 ESRI의 ArcGIS10.0 폴더가 Python 2.6.5 32 비트 설치를 제공 한 경우를 제외하고 C : \ Python26 폴더 아래에는 아무것도 없어야합니다. Lib 파일이 있으면 이전 설치의 잔여 파일이며 방해합니다. 이전 또는 이전 Python26 설치가 64 비트 인 경우 더 큰 문제가됩니다.

또한 64 비트 Windows 7을 사용하므로 32 비트 Python 키의 레지스트리 경로는 HKLM \ SOFTWARE \ Wow6432Node \ Python입니다. HKLM \ SOFTWARE \ Python이있는 경우 64 비트의 키가됩니다. 설치. 또한 32 비트 설치를 방해합니다.


안녕하세요 스튜어트 정보 주셔서 감사합니다. 나는에 이상 대답 한 forums.arcgis.com 환호 샘
SamFranklin

geoprocessing_base.py발견 된 사실 (스택 추적 참조)은 모듈을 찾는 데 아무런 문제가 없음을 강력히 암시하여 수정 제안을 제거합니다 PYTHONPATH. 둘 다 켜져PATH 있으면 64와 32 파이썬 사이에 충돌이 발생할 수 있습니다 . 그러나 64 비트 버전이 제거 된 경우이 버전을 사용할 수 없습니다 PATH. ( PATH어딘가에 위치가 있더라도 더 이상 찾을 것이 없습니다.)
jpmc26

5

새 환경에서 스크립팅을 설정할 때이 문제가 발생했습니다 .... ArcGIS Administrator를 사용하여 라이센스 관리자 서버를 설정하는 것을 잊었습니다.


2

이 작업을 수행

  1. arcgis 응용 프로그램 관리자 열기
  2. 라이센스 관리자를 설정

사용 가능한 각 라이센스 레벨 수를 검토하십시오. arcpy가 특정 라이센스 수준을 체크 아웃하려면 다음과 같이 코딩해야합니다

import arcview
import arcpy

안녕하세요-가져 오기 arcview를 시도했습니다. 다음과 같은 오류가 발생했습니다. 그러나 나는 그때 arcpy okay를 사용할 수 있습니까? >>> arcview 가져 오기 Traceback (가장 최근 호출) : <모듈> import arcview 파일 "C : \ Program Files (x86) \ ArcGIS \ Desktop10.0 \ arcpy \의"<pyshell # 3> "라인 1, 파일 1 <module> gp.setProduct ( "ArcView")의 arcview.py ", 18 행, RuntimeError : ERROR 999999 : 함수 실행 중 오류가 발생했습니다. >>> import arcpy >>> 스크린 샷을 첨부하고 더 자세한 답변을 제공 할 수있는 bit.ly/ggtlio 에 대한 완전한 답변을 제공했습니다.
SamFranklin

2

이것이 내가 한 일입니다. 경로 및 PYTHONPATH 환경 변수

이것으로 충분합니다.

PyScripter를 사용했지만 2.7 버전을 다운로드했습니다. PyScripter for Python 2.6을 사용하여 import arcpy에 오류가 없어야했습니다.


1

필자의 경우 ArcGIS 라이센스를 확인하기 위해 네트워크에 직접 연결되거나 VPN을 통해 연결되지 않았습니다. 네트워크에 연결되면 "RuntimeError : NotInitialized"오류가 해결되고 스크립트가 성공적으로 실행되었습니다.

1) arcgis 응용 프로그램 관리자 열기 2) gotchula가 언급 한 것처럼 라이센스 관리자 설정 ...

도움이 되었기를 바랍니다!

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