problemas al importar arcpy en Python IDLE


9

Me gustaría usar arcpy en mi código de Python. Puedo importarlo a través de la consola de escritorio Python de ARCGIS. Pero no puedo importarlo a Python IDLE. Obtuve el siguiente error

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

Mencioné las siguientes carpetas como parte de mi ruta de Python.

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

Encontré el mismo problema mencionado.

import arcpy produce "TypeError: este objeto no admite la enumeración"

El usuario dice que se debe a lo siguiente:

Escribí para Arcgis 9 y 10 en el mismo directorio. Algo sobre la lógica de inicialización en import arcpy encuentra el arcgisscripting.py personalizado utilizado para ejecutar python 2.6 con arcgis 9.3 cuando están ubicados juntos.

Solo tengo ARCGIS 10 y no sé cómo arcpy busca sus módulos.


¿Simplemente está escribiendo import arcpy en el shell de Python (de IDLE) para ver este error? ¿O tal vez simplemente escribiendo import arcpy en una ventana de Python (de IDLE) y usando Run Module para verlo? ¿Tienes que usar un largo PYTHONPATH? Solo tengo PYTHONPATH = C: \ Python26 y C: \ Python26 \ ArcGIS10.0 como parte de mi variable PATH.
PolyGeo

sí, solo estoy importando el módulo en la ventana IDLE. También intenté usar este intérprete de Python en ARCGIS, importé los módulos arpy. Aún tengo el error.
Karthik Bharadwaj

1
¿Tienes que usar un largo PYTHONPATH? Solo tengo PYTHONPATH = C: \ Python26 y C: \ Python26 \ ArcGIS10.0 como parte de mi variable PATH.
PolyGeo

1
solución de Windows -> reinstale arcgis y python.
Aragón

1
Me gustaría entender cómo se origina el problema subyacente y cómo se produce, en el peor de los casos, creo que tendré que ignorar ambos. @PolyGeo. Cambié mi ruta y la variable de ruta de Python. pero el problema elimina lo mismo.
Karthik Bharadwaj

Respuestas:


9

Arregla tu PYTHONPATH. De la ayuda de ArcGIS:

Cuando se usa una declaración de importación, Python busca un módulo que coincida con ese nombre en las siguientes ubicaciones (y en el siguiente orden):

  1. Rutas especificadas en la PYTHONPATHvariable de entorno del sistema
  2. Un conjunto de carpetas estándar de Python (la carpeta actual, C:\python2x\lib, C:\python2x\Lib\site-packages, etc.)
  3. Rutas especificadas dentro de cualquier .ptharchivo encontrado en 1 y 2

Para obtener más información sobre esto, consulte lo siguiente: http://docs.python.org/install/index.html#modifying-python-s-search-path . La instalación de productos ArcGIS 10.0 instalará Python 2.6 si aún no está instalado. La instalación también agregará el archivo Desktop10.pth( Engine10.pthoo Server10.pth) python26\Lib\site-packages. El contenido de este archivo son dos líneas que contienen la ruta a las carpetas arcpy y bin de la instalación de ArcGIS de su sistema. Estas dos rutas son necesarias para importar ArcPy con éxito en Python versión 2.6. Cuando se usa una declaración de importación, Python se refiere a la PYTHONPATHvariable de entorno de su sistema para ubicar los archivos del módulo. Esta variable se establece en una lista de directorios.


Propina:

Si importar ArcPy produce alguno de los siguientes errores, no se pueden encontrar los módulos necesarios: ImportError: No module named arcpy ImportError: No module named arcgisscripting

Para solucionar esto, navegue usando el Explorador de Windows a la python26\Lib\site-packagescarpeta y agregue o edite el Desktop10.ptharchivo. El archivo debe contener las dos líneas que se muestran a continuación (corregidas a la ruta de su sistema si no coinciden):

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

Gracias a todos. Como @Aragon sugirió que reinstalé ARCGIS Desktop y Python. coloque el archivo Desktop.pth en su lugar y funcionó.
Karthik Bharadwaj
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.