Unikanie błędu arcpy podczas importu (RuntimeError: NotInitialized) podczas używania IDLE?

11

Wersja ArcGIS: ArcGIS 10, Python 2.6.5 Maszyna: Windows 7 64bit (Intel)

Otrzymuję następujący błąd podczas importowania arcpy przy użyciu IDLE (monit GUI i cmd) i podczas używania Pythonwin.

Usunąłem python26 i python25 z mojego systemu i wykonałem nową instalację ArcGIS 10 i python. Dlatego dzwonię do IDLE stąd: „C: \ Python26 \ ArcGIS10.0 \ pythonw.exe”

Błąd:

** IDLE 2.6.5

import arcpy Traceback (ostatnie ostatnie połączenie): Plik „”, wiersz 1, w pliku importu arcpy „C: \ Program Files (x86) \ ArcGIS \ Desktop10.0 \ arcpy \ arcpy__init __. py”, wiersz 17, z geoprzetwarzania importuj plik gp „C: \ Program Files (x86) \ ArcGIS \ Desktop10.0 \ arcpy \ arcpy \ geoprocessing__init __. py”, wiersz 14, z pliku _base import * Plik „C: \ Program Files (x86) \ ArcGIS \ Desktop10 .0 \ arcpy \ arcpy \ geoprocessing_base.py ", wiersz 568, w env = GPEnvironments (gp) Plik„ C: \ Program Files (x86) \ ArcGIS \ Desktop10.0 \ arcpy \ arcpy \ geoprocessing_base.py ”, wiersz 565 , w GPEnvironments zwraca plik GPEnvironment (geoprocesor) „C: \ Program Files (x86) \ ArcGIS \ Desktop10.0 \ arcpy \ arcpy \ geoprocessing_base.py”, wiersz 521,w init plik self._refresh () "C: \ Program Files (x86) \ ArcGIS \ Desktop10.0 \ arcpy \ arcpy \ geoprocessing_base.py", wiersz 523, w _refresh envset = (set (env dla env w self._gp.listEnvironments) ())) RuntimeError: NotInitialized **

Wsparcie techniczne EsriUK i Esri zaleciło świeże ponowne zainstalowanie i edycję rejestru = ale to nie zadziałało. Czekam na nich dla rozwiązania.

Zbadałem, czy był to problem z modułową ścieżką arkadową. Istnieje kilka linków na forach Esri i pomocy ArcGIS dotyczących ścieżek . Również możliwy powiązany wątek na gis.stackexchange .

Postępowałem zgodnie z radą „kimo” w wątku forum Esri. Ale nadal błąd importu.

  1. Moja zmienna systemowa (którą edytowałem) to: PYTHONPATH = "c: \ python26"; "C: \ Python26 \ ArcGIS10.0"; "C: \ Python26 \ ArcGIS10.0 \ Lib \ site-packages"; " C: \ Program Files (x86) \ ArcGIS \ Desktop10.0 \ arcpy "

  2. Sprawdziłem, że mam zawartość „C: \ Python26 \ ArcGIS10.0 \ Lib \ site-packages \ Desktop10.pth”. Zawartość to: 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

Jednak komunikat śledzenia pokazuje, że w folderze znajduje się skrypt .py: C: \ Program Files (x86) \ ArcGIS \ Desktop10.0 \ arcpy \ arcpy. Dlatego sugeruje, że moduł arcpy został znaleziony przez interpretera, ale nie został zainicjowany (?).

Arcpy można wywoływać z okna Pythona w ArcMap i ArcCatalog. Dopiero po wywołaniu z interpretera Pythona „importowanie arcpy” kończy się niepowodzeniem. Dlatego arcpy jest inicjowane poprawnie przez ArcMap / ArcCatalog, ale nie IDLE - jak to może być?

Wcześniej miałem instalację python25, potem python26, a następnie uaktualniono go do ArcGIS 10. Dlatego na moim komputerze było dość dużo starszego Pythona. Jednak odinstalowałem wszystko i wyczyściłem rejestr za pomocą ccleaner.

Czy ktoś może zasugerować inną linię zapytania, ponieważ nie mam wystarczającej wiedzy na temat Pythona, aby rozwiązać błędy inicjalizacji / błędów w czasie wykonywania? Chciałbym również uniknąć ponownej instalacji systemu operacyjnego!

SamFranklin
źródło
opublikował również na ... forums.arcgis.com/threads/…
1
Ten link pomógł mi. Dodałem import arcserver przed importowaniem linii arcpy. myarcgisserver.wordpress.com/2014/04/04/…
G ...... T ......

Odpowiedzi:

5

Patrząc na twoje posty tutaj i na forach ESRI, myślę, że masz pewne niejasne ustawienia środowiska.

Chcesz umieścić C: \ Python26 \ ArcGIS10.0 w zmiennej systemowej PATH, która prowadzi do poprawnych plików wykonywalnych z IDLE, PythonWin lub wiersza poleceń.

Twoja PYTHONPATH może być pusta. Możesz też dołączyć 3 sekcje pliku 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 \ Scripts - ścieżki te będą miały pierwszeństwo przed domyślnym wyszukiwaniem modułów (poniżej wywołania python.exe lub pythonw.exe).

Wreszcie, ponieważ odinstalowałeś i zainstalowałeś kilka wersji Pythona. W tym momencie w folderze C: \ Python26 nie powinno być nic oprócz folderu ArcGIS10.0 ESRI zapewniającego 32-bitową instalację Python 2.6.5. Jeśli jest plik Lib, jest to pozostałość po wcześniejszej instalacji i będzie zakłócać. Byłoby większym problemem, gdyby którakolwiek z wcześniejszych instalacji Python26 była 64-bitowa.

Ponadto, ponieważ korzystasz z 64-bitowego systemu Windows 7, ścieżka rejestru prowadząca do 32-bitowych kluczy Pythona to HKLM \ SOFTWARE \ Wow6432Node \ Python Jeśli masz HKLM \ SOFTWARE \ Python, będą to klucze 64-bitowe zainstalować. Będą również zakłócać instalację 32-bitową.

V Stuart Foote
źródło
Cześć Stuart. Dzięki za informację. Odpowiedziałem na forums.arcgis.com , pozdrawiam Sam
SamFranklin
Fakt, że się geoprocessing_base.pyznajduje (patrz ślad stosu) zdecydowanie sugeruje, że nie ma problemu ze znalezieniem modułów, co eliminuje twoją sugestię modyfikacji PYTHONPATH. Konflikt między Pythonem 64 a 32 może być możliwy tylko wtedy, gdy oba są włączonePATH . Jeśli jednak wersje 64-bitowe zostały usunięte, prawdopodobnie nie mogą być włączone PATH. (Nawet jeśli lokalizacja jakoś pozostaje PATH, nie ma już nic do znalezienia.)
jpmc26
5

Wystąpił ten problem podczas konfigurowania skryptów w nowym środowisku .... Zapomniałem ustawić serwera menedżera licencji za pomocą ArcGIS Administrator.

Dowlers
źródło
2

Zrób to

  1. otwórz menedżera aplikacji arcgis
  2. ustaw menedżera licencji

sprawdź, ile dostępnych jest poszczególnych poziomów licencji. jeśli chcesz, aby arcpy sprawdzało konkretny poziom licencji, będziesz chciał kodować w ten sposób

import arcview
import arcpy
gotchula
źródło
Cześć - wypróbowałem import arcview. Otrzymano następujący błąd. Mogę jednak użyć Arcpy, dobrze? >>> import arcview Traceback (ostatnie ostatnie połączenie): Plik „<pyshell # 3>”, wiersz 1, w <module> import arcview Plik „C: \ Program Files (x86) \ ArcGIS \ Desktop10.0 \ arcpy \ arcview.py ”, wiersz 18, w <module> gp.setProduct („ ArcView ”) RuntimeError: ERROR 999999: Błąd podczas wykonywania funkcji. >>> importuj archpy >>> Podałem pełną odpowiedź na: bit.ly/ggtlio, gdzie mogłem dołączyć zrzuty ekranu i podać pełniejszą odpowiedź.
SamFranklin,
2

To właśnie zrobiłem, zmienne środowiskowe Path i PYTHONPATH

to mi wystarcza.

Użyłem PyScriptera, ale pobrałem wersję 2.7. Konieczne było użycie PyScriptera dla Pythona 2.6, aby nie pojawił się błąd przy importowaniu Arcpy

Diego Pajarito
źródło
0

W moim przypadku nie byłem podłączony bezpośrednio do sieci ani przez VPN, aby zweryfikować licencję ArcGIS. Po podłączeniu do sieci problem „RuntimeError: NotInitialized” został rozwiązany i mój skrypt uruchomił się pomyślnie.

Musisz jednak ... 1) otworzyć menedżera aplikacji arcgis 2) ustawić menedżera licencji ... jak wspomniała gotchula

Mam nadzieję że to pomoże!

Chirag
źródło