Probleme beim Importieren von arcpy in Python IDLE

9

Ich möchte arcpy in meinem Python-Code verwenden. Ich kann es über die ARCGIS-Desktop-Python-Konsole importieren. Ich kann es jedoch nicht in Python IDLE importieren. Ich erhalte den folgenden Fehler

Traceback (most recent call last):

File "C:\Python26\lib\site-packages\win32com\client\dynamic.py", line 246, in 
__getitem__raise TypeError("This object does not support enumeration") 

Ich habe die folgenden Ordner als Teil meines Python-Pfads erwähnt.

C:\Program Files\ArcGIS\Desktop10.0\arcpy;
C:\Program Files\ArcGIS\Desktop10.0\arcpy\arcpy;
C:\Python26\ArcGIS10.0\Tools\Scripts

Ich fand das gleiche Problem erwähnt.

import arcpy ergibt "TypeError: Dieses Objekt unterstützt keine Aufzählung"

Der Benutzer sagt, dass dies auf Folgendes zurückzuführen ist:

Ich habe für Arcgis 9 und 10 im selben Verzeichnis geschrieben. Etwas an der Initialisierungslogik in import arcpy findet die benutzerdefinierte Datei arcgisscripting.py, die zum Ausführen von Python 2.6 mit arcgis 9.3 verwendet wird, wenn sie sich zusammen befinden.

Ich habe nur ARCGIS 10 und mir ist nicht bekannt, wie arcpy nach seinen Modulen sucht.

Karthik Bharadwaj
quelle
Geben Sie einfach import arcpy in die Python-Shell (von IDLE) ein, um diesen Fehler zu sehen? Oder geben Sie einfach import arcpy in ein Python-Fenster (von IDLE) ein und verwenden Sie Run Module, um es anzuzeigen? Müssen Sie einen langen PYTHONPATH verwenden? Ich habe nur PYTHONPATH = C: \ Python26 und C: \ Python26 \ ArcGIS10.0 als Teil meiner PATH-Variablen.
PolyGeo
Ja, ich importiere nur das Modul in das IDLE-Fenster. Ich habe auch versucht, diesen Python-Interpreter in ARCGIS zu verwenden, habe die Arpy-Module importiert. Ich bekomme immer noch den Fehler.
Karthik Bharadwaj
1
Müssen Sie einen langen PYTHONPATH verwenden? Ich habe nur PYTHONPATH = C: \ Python26 und C: \ Python26 \ ArcGIS10.0 als Teil meiner PATH-Variablen.
PolyGeo
1
Windows-Lösung -> Installieren Sie Arcgis und Python neu.
Aragon
1
Ich würde gerne verstehen, wie das zugrunde liegende Problem und wie es verursacht wird. Im schlimmsten Fall denke ich, dass ich beide deinstallieren muss. @PolyGeo. Ich habe meinen Pfad und meine Python-Pfadvariable geändert. aber das Problem beseitigt das gleiche.
Karthik Bharadwaj

Antworten:

9

Repariere deine PYTHONPATH. In der ArcGIS-Hilfe:

Bei Verwendung einer Importanweisung sucht Python an den folgenden Stellen (und in der folgenden Reihenfolge) nach einem Modul, das diesem Namen entspricht:

  1. In der PYTHONPATHSystemumgebungsvariablen angegebene Pfade
  2. Eine Reihe von Standard - Python - Ordner (der aktuelle Ordner, C:\python2x\lib, C:\python2x\Lib\site-packages, und so weiter)
  3. In jeder .pthDatei in 1 und 2 angegebene Pfade

Weitere Informationen hierzu finden Sie unter: http://docs.python.org/install/index.html#modifying-python-s-search-path . Bei der Installation von ArcGIS 10.0-Produkten wird Python 2.6 installiert, sofern es noch nicht installiert ist. Bei der Installation wird auch die Datei Desktop10.pth(oder Engine10.pthoder Server10.pth) hinzugefügt python26\Lib\site-packages. Der Inhalt dieser Datei besteht aus zwei Zeilen, die den Pfad zu den Arcpy- und Bin-Ordnern der ArcGIS-Installation Ihres Systems enthalten. Diese beiden Pfade sind erforderlich, um ArcPy in Python Version 2.6 erfolgreich zu importieren. Bei Verwendung einer Importanweisung verweist Python auf die PYTHONPATHUmgebungsvariable Ihres Systems , um Moduldateien zu finden. Diese Variable wird auf eine Liste von Verzeichnissen festgelegt.


Trinkgeld:

Wenn beim Importieren von ArcPy einer der folgenden Fehler auftritt, wurden die erforderlichen Module nicht gefunden: ImportError: No module named arcpy ImportError: No module named arcgisscripting

Um dies zu beheben, navigieren Sie mit Windows Explorer zum python26\Lib\site-packagesOrdner und fügen Sie die Desktop10.pthDatei hinzu oder bearbeiten Sie sie . Die Datei sollte die beiden unten gezeigten Zeilen enthalten (korrigiert auf den Pfad Ihres Systems, wenn sie nicht übereinstimmen):

  • C:\Program Files\ArcGIS\Desktop10.0\arcpy
  • C:\Program Files\ArcGIS\Desktop10.0\bin
Nutzer
quelle
Vielen Dank an alle. Wie von @Aragon vorgeschlagen, habe ich sowohl ARCGIS Desktop als auch Python neu installiert. Setzen Sie die Desktop.pth-Datei ein und es hat funktioniert.
Karthik Bharadwaj