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.
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 "
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!
Odpowiedzi:
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ą.
źródło
geoprocessing_base.py
znajduje (patrz ślad stosu) zdecydowanie sugeruje, że nie ma problemu ze znalezieniem modułów, co eliminuje twoją sugestię modyfikacjiPYTHONPATH
. 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łączonePATH
. (Nawet jeśli lokalizacja jakoś pozostajePATH
, nie ma już nic do znalezienia.)Wystąpił ten problem podczas konfigurowania skryptów w nowym środowisku .... Zapomniałem ustawić serwera menedżera licencji za pomocą ArcGIS Administrator.
źródło
Zrób to
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
źródło
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
źródło
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!
źródło