Vermeiden Sie den Import von Arcpy-Fehlern (RuntimeError: NotInitialized) bei Verwendung von IDLE?


11

ArcGIS-Version: ArcGIS 10, Python 2.6.5 Computer: Windows 7 64-Bit (Intel)

Beim Importieren von arcpy über IDLE (Eingabeaufforderung gui und cmd) und bei Verwendung von pythonwin wird die folgende Fehlermeldung angezeigt.

Ich habe python26 und python25 von meinem System entfernt und eine Neuinstallation von ArcGIS 10 und Python durchgeführt. Rufen Sie daher von hier aus IDLE auf: "C: \ Python26 \ ArcGIS10.0 \ pythonw.exe"

Der Fehler:

** LEERLAUF 2.6.5

arcpy-Traceback importieren (letzter Aufruf zuletzt): Datei "", Zeile 1, in arcpy-Datei importieren "C: \ Programme (x86) \ ArcGIS \ Desktop10.0 \ arcpy \ arcpy__init __. py", Zeile 17, aus der Geoverarbeitung Importieren Sie die GP-Datei "C: \ Programme (x86) \ ArcGIS \ Desktop10.0 \ arcpy \ arcpy \ geoprocessing__init __. py", Zeile 14, aus _base import * File "C: \ Programme (x86) \ ArcGIS \ Desktop10 .0 \ arcpy \ arcpy \ geoprocessing_base.py ", Zeile 568, in env = GPEnvironments (gp) Datei" C: \ Programme (x86) \ ArcGIS \ Desktop10.0 \ arcpy \ arcpy \ geoprocessing_base.py ", Zeile 565 Geben Sie in GPEnvironments die GPEnvironment (Geoprozessor) -Datei "C: \ Programme (x86) \ ArcGIS \ Desktop10.0 \ arcpy \ arcpy \ geoprocessing_base.py", Zeile 521, zurück.in init self._refresh () Datei "C: \ Programme (x86) \ ArcGIS \ Desktop10.0 \ arcpy \ arcpy \ geoprocessing_base.py", Zeile 523, in _refresh envset = (set (env für env in self._gp.listEnvironments) ())) RuntimeError: NotInitialized **

Der technische Support von EsriUK und Esri hat eine Neuinstallation und Änderungen an der Registrierung empfohlen = dies hat jedoch nicht funktioniert. Ich warte auf eine Lösung.

Ich habe untersucht, ob es sich um ein Modul-Arcpy-Path-Problem handelt. In den Esri-Foren und in der ArcGIS-Hilfe finden Sie einige Links zu Pfaden . Auch ein möglicher verwandter Thread auf gis.stackexchange .

Ich folgte dem Rat von 'kimo' im Esri-Forum-Thread. Aber immer noch der Importfehler.

  1. Meine Systemvariable (die ich bearbeitet habe) lautet: PYTHONPATH = "c: \ python26"; "C: \ Python26 \ ArcGIS10.0"; "C: \ Python26 \ ArcGIS10.0 \ Lib \ site-packages"; " C: \ Programme (x86) \ ArcGIS \ Desktop10.0 \ arcpy "

  2. Ich habe überprüft, ob ich den Inhalt von "C: \ Python26 \ ArcGIS10.0 \ Lib \ site-packages \ Desktop10.pth" habe. Der Inhalt lautet: C: \ Programme (x86) \ ArcGIS \ Desktop10.0 \ bin C: \ Programme (x86) \ ArcGIS \ Desktop10.0 \ arcpy C: \ Programme (x86) \ ArcGIS \ Desktop10.0 \ ArcToolbox \ Scripts

Die Traceback-Nachricht zeigt jedoch, dass sich ein .py-Skript im folgenden Ordner befindet: C: \ Programme (x86) \ ArcGIS \ Desktop10.0 \ arcpy \ arcpy. Schlägt daher vor, dass das arcpy-Modul vom Interpreter gefunden, dann aber nicht initialisiert wird (?).

Arcpy kann über das Python-Fenster in ArcMap und ArcCatalog aufgerufen werden. Nur wenn er von einem Python-Interpreter aufgerufen wird, schlägt der 'import arcpy' fehl. Daher wird arcpy von ArcMap / ArcCatalog in Ordnung initialisiert, aber nicht IDLE - wie kann das sein?

Ich hatte zuvor eine Installation von python25, dann python26 und danach ein Upgrade auf ArcGIS 10. Daher befand sich auf meinem Computer ziemlich viel Legacy-Python. Ich habe jedoch alle deinstalliert und die Registrierung mit ccleaner bereinigt.

Kann jemand eine andere Fragestellung vorschlagen, da ich mit Python nicht genug Erfahrung habe, um Initialisierungs- / Laufzeitfehler zu beheben? Ich möchte auch eine Neuinstallation des Betriebssystems vermeiden!


auch gepostet auf ... forums.arcgis.com/threads/…

1
Dieser Link hat mir geholfen. Ich habe import arcserver vor dem import arcpy line hinzugefügt. myarcgisserver.wordpress.com/2014/04/04/…
G ...... T ......

Antworten:


5

Wenn Sie sich Ihre Beiträge hier und in den ESRI-Foren ansehen, haben Sie wahrscheinlich einige verworrene Umgebungseinstellungen.

Sie möchten C: \ Python26 \ ArcGIS10.0 in Ihre System-PATH-Variable einfügen, mit der Sie über IDLE, PythonWin oder die Befehlszeile zu den richtigen ausführbaren Dateien gelangen.

Ihr PYTHONPATH könnte leer sein. Sie können auch einfach die drei Zeilengruppen Ihrer Desktop10.pth-Datei einfügen: C: \ Programme (x86) \ ArcGIS \ Desktop10.0 \ bin C: \ Programme; (x86) \ ArcGIS \ Desktop10.0 \ arcpy; C: \ Programme (x86) \ ArcGIS \ Desktop10.0 \ ArcToolbox \ Scripts - Diese Pfade haben dann Vorrang vor der Standardsuche nach Modulen (unterhalb der aufgerufenen Datei python.exe oder pythonw.exe).

Schließlich, da Sie mehrere Versionen von Python deinstalliert und installiert haben. Zu diesem Zeitpunkt sollte sich im Ordner C: \ Python26 nichts außer dem ArcGIS10.0-Ordner der von ESRI bereitgestellten 32-Bit-Installation von Python 2.6.5 befinden. Wenn sich dort eine Lib-Datei befindet, ist dies ein Rest einer früheren Installation und stört. Es wäre ein größeres Problem, wenn eine oder Ihre früheren Python26-Installationen 64-Bit wären.

Da Sie unter 64-Bit-Windows 7 arbeiten, lautet der Registrierungspfad zu den 32-Bit-Python-Schlüsseln HKLM \ SOFTWARE \ Wow6432Node \ Python. Wenn Sie über HKLM \ SOFTWARE \ Python verfügen, handelt es sich um Schlüssel für 64-Bit Installieren. Sie würden auch die 32-Bit-Installation stören.


Hallo Stuart. Danke für die Information. Ich habe auf forums.arcgis.com geantwortet, Prost Sam
SamFranklin

Die Tatsache, geoprocessing_base.pydass gefunden wird (siehe Stapelverfolgung), deutet stark darauf hin, dass es kein Problem gibt, die Module zu finden, wodurch Ihr Änderungsvorschlag entfällt PYTHONPATH. Es kann nur zu einem Konflikt zwischen 64 und 32 Python kommen, wenn beide aktiviert sindPATH . Wenn die 64-Bit-Versionen jedoch entfernt wurden, können sie möglicherweise nicht aktiviert sein PATH. (Auch wenn der Ort irgendwie PATH
drin

5

Dieses Problem trat beim Einrichten von Skripten in einer neuen Umgebung auf. Ich hatte vergessen, den Lizenzmanager-Server mit ArcGIS Administrator einzurichten.


2

mach das

  1. Öffnen Sie den Arcgis-Anwendungsmanager
  2. Stellen Sie den Lizenzmanager ein

Überprüfen Sie, wie viele von jeder Lizenzstufe verfügbar sind. Wenn Sie möchten, dass arcpy eine bestimmte Lizenzstufe überprüft, sollten Sie wie folgt codieren

import arcview
import arcpy

Hallo - versucht, Arcview zu importieren. Erhielt den folgenden Fehler. Allerdings könnte ich dann arcpy okay gebrauchen? >>> Arcview-Traceback importieren (letzter Aufruf zuletzt): Datei "<pyshell # 3>", Zeile 1, in <Modul> Arcview-Datei importieren "C: \ Programme (x86) \ ArcGIS \ Desktop10.0 \ arcpy \ arcview.py ", Zeile 18, in <module> gp.setProduct (" ArcView ") RuntimeError: ERROR 999999: Fehler beim Ausführen der Funktion. >>> arcpy importieren >>> Ich habe eine vollständige Antwort auf bit.ly/ggtlio gegeben, wo ich Screenshots anhängen und eine vollständigere Antwort geben konnte.
SamFranklin

2

Dies ist, was ich getan habe, die Umgebungsvariablen Path und PYTHONPATH

das ist genug für mich.

Ich habe PyScripter verwendet, aber ich habe die Version 2.7 heruntergeladen. Es war notwendig, PyScripter für Python 2.6 zu verwenden, um beim Importieren von arcpy keine Fehler zu erhalten


0

In meinem Fall war ich nicht direkt mit dem Netzwerk oder über VPN verbunden, um die ArcGIS-Lizenz zu validieren. Sobald ich mich mit dem Netzwerk verbunden hatte, wurde der Fehler "RuntimeError: NotInitialized" behoben und mein Skript wurde erfolgreich ausgeführt.

Sie müssen jedoch ... 1) den Arcgis-Anwendungsmanager öffnen 2) den Lizenzmanager einstellen ... wie von gotchula erwähnt

Hoffe das hilft!

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.