problemi durante l'importazione di arcpy in Python IDLE


9

Vorrei usare arcpy nel mio codice Python. Sono in grado di importarlo tramite la console python desktop ARCGIS. Ma non sono in grado di importarlo in Python IDLE. Ottengo il seguente errore

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") 

Ho citato le seguenti cartelle come parte del mio percorso Python.

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

Ho trovato lo stesso problema menzionato.

import arcpy rese "TypeError: questo oggetto non supporta l'enumerazione"

L'utente dice che è dovuto a quanto segue:

Ho scritto per Arcgis 9 e 10 nella stessa directory. Qualcosa sulla logica di inizializzazione nell'importazione arcpy trova l'arcgisscripting.py personalizzato usato per eseguire python 2.6 con arcgis 9.3 quando si trovano insieme.

Ho solo ARCGIS 10 e non sono consapevole di come Arcpy cerchi i suoi moduli.


Stai semplicemente digitando import arcpy nella shell Python (di IDLE) per vedere questo errore? O forse semplicemente digitando import arcpy in una finestra Python (di IDLE) e usando Run Module per vederlo? Devi usare un lungo PYTHONPATH? Ho appena PYTHONPATH = C: \ Python26 e C: \ Python26 \ ArcGIS10.0 come parte della mia variabile PATH.
PolyGeo

sì, sto solo importando il modulo nella finestra IDLE. Ho anche provato a usare questo interprete python in ARCGIS, ho importato i moduli arpy. Ottengo ancora l'errore.
Karthik Bharadwaj,

1
Devi usare un lungo PYTHONPATH? Ho appena PYTHONPATH = C: \ Python26 e C: \ Python26 \ ArcGIS10.0 come parte della mia variabile PATH.
PolyGeo

1
soluzione windows -> reinstalla arcgis e python.
Aragona,

1
Vorrei capire come il problema di fondo e come è causato, nel peggiore dei casi penso che dovrò annullare entrambi. @PolyGeo. Ho cambiato il mio percorso e la variabile del percorso python. ma il problema rimuove lo stesso.
Karthik Bharadwaj,

Risposte:


9

Correggi il tuo PYTHONPATH. Da ArcGIS aiuto:

Quando si utilizza un'istruzione import, Python cerca un modulo che corrisponda a quel nome nei seguenti percorsi (e nel seguente ordine):

  1. Percorsi specificati nella PYTHONPATHvariabile di ambiente di sistema
  2. Un insieme di cartelle standard di Python (la cartella corrente, C:\python2x\lib, C:\python2x\Lib\site-packages, e così via)
  3. Percorsi specificati all'interno di qualsiasi .pthfile trovato in 1 e 2

Per ulteriori informazioni al riguardo, consultare quanto segue: http://docs.python.org/install/index.html#modifying-python-s-search-path . L'installazione dei prodotti ArcGIS 10.0 installerà Python 2.6 se non è già installata. L'installazione aggiungerà anche il file Desktop10.pth(o Engine10.ptho Server10.pth) in python26\Lib\site-packages. Il contenuto di questo file è costituito da due righe che contengono il percorso delle cartelle arcpy e bin dell'installazione ArcGIS del sistema. Questi due percorsi sono necessari per importare correttamente ArcPy in Python versione 2.6. Quando si utilizza un'istruzione import, Python fa riferimento alla PYTHONPATHvariabile di ambiente del sistema per individuare i file del modulo. Questa variabile è impostata su un elenco di directory.


Mancia:

Se l'importazione di ArcPy produce uno dei seguenti errori, non è possibile trovare i moduli richiesti: ImportError: No module named arcpy ImportError: No module named arcgisscripting

Per risolvere questo problema, navigare utilizzando Esplora risorse nella python26\Lib\site-packagescartella e aggiungere o modificare il Desktop10.pthfile. Il file deve contenere le due righe mostrate di seguito (corrette per il percorso del sistema se non corrispondono):

  • C:\Program Files\ArcGIS\Desktop10.0\arcpy
  • C:\Program Files\ArcGIS\Desktop10.0\bin

Ringrazia tutti. Come suggerito da @Aragon, ho reinstallato ARCGIS Desktop e Python. mettere il file Desktop.pth al suo posto e ha funzionato.
Karthik Bharadwaj,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.