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.
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 "
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!
Antworten:
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.
quelle
geoprocessing_base.py
dass gefunden wird (siehe Stapelverfolgung), deutet stark darauf hin, dass es kein Problem gibt, die Module zu finden, wodurch Ihr Änderungsvorschlag entfälltPYTHONPATH
. 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 seinPATH
. (Auch wenn der Ort irgendwiePATH
Dieses Problem trat beim Einrichten von Skripten in einer neuen Umgebung auf. Ich hatte vergessen, den Lizenzmanager-Server mit ArcGIS Administrator einzurichten.
quelle
mach das
Ü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
quelle
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
quelle
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!
quelle