¿Evita el error de importación arcpy (RuntimeError: NotInitialized) al usar IDLE?

11

Versión de ArcGIS: ArcGIS 10, Python 2.6.5 Máquina: Windows 7 de 64 bits (Intel)

Recibo el siguiente error al importar arcpy usando IDLE (indicador de gui y cmd) y cuando uso pythonwin.

Quité python26 y python25 de mi sistema y realicé una nueva instalación de ArcGIS 10 y python. Por lo tanto, estoy llamando IDLE desde aquí: "C: \ Python26 \ ArcGIS10.0 \ pythonw.exe"

El error:

** IDLE 2.6.5

import arcpy Traceback (última llamada reciente): archivo "", línea 1, en import arcpy File "C: \ Program Files (x86) \ ArcGIS \ Desktop10.0 \ arcpy \ arcpy__init __. py", línea 17, desde el geoprocesamiento importe el archivo gp "C: \ Archivos de programa (x86) \ ArcGIS \ Desktop10.0 \ arcpy \ arcpy \ geoprocessing__init __. py", línea 14, desde _base import * Archivo "C: \ Archivos de programa (x86) \ ArcGIS \ Desktop10 .0 \ arcpy \ arcpy \ geoprocessing_base.py ", línea 568, en env = GPEnvironments (gp) Archivo" C: \ Archivos de programa (x86) \ ArcGIS \ Desktop10.0 \ arcpy \ arcpy \ geoprocessing_base.py ", línea 565 , en GPEnvironments, devuelva GPEnvironment (geoprocesador) Archivo "C: \ Archivos de programa (x86) \ ArcGIS \ Desktop10.0 \ arcpy \ arcpy \ geoprocessing_base.py", línea 521,en init self._refresh () Archivo "C: \ Archivos de programa (x86) \ ArcGIS \ Desktop10.0 \ arcpy \ arcpy \ geoprocessing_base.py", línea 523, en _refresh envset = (set (env para env en self._gp.listEnvironments ())) RuntimeError: NotInitialized **

El soporte técnico de EsriUK y Esri ha recomendado nuevas ediciones de reinstalación y registro = pero esto no funcionó. Les estoy esperando una solución.

He investigado si se trataba de un problema de ruta de arco de módulo. Hay un par de enlaces en los foros de Esri y en la ayuda de ArcGIS con respecto a las rutas . Además, un posible hilo relacionado en gis.stackexchange .

Seguí el consejo de 'kimo' en el hilo del foro de Esri. Pero aún así el error de importación.

  1. La variable de mi sistema (que he editado) es: PYTHONPATH = "c: \ python26"; "C: \ Python26 \ ArcGIS10.0"; "C: \ Python26 \ ArcGIS10.0 \ Lib \ site-packages"; " C: \ Archivos de programa (x86) \ ArcGIS \ Desktop10.0 \ arcpy "

  2. Verifiqué que tengo el contenido de "C: \ Python26 \ ArcGIS10.0 \ Lib \ site-packages \ Desktop10.pth". Los contenidos son: C: \ Archivos de programa (x86) \ ArcGIS \ Desktop10.0 \ bin C: \ Archivos de programa (x86) \ ArcGIS \ Desktop10.0 \ arcpy C: \ Archivos de programa (x86) \ ArcGIS \ Desktop10.0 \ ArcToolbox \ Scripts

Sin embargo, el mensaje de rastreo muestra que se encuentra un script .py en la carpeta: C: \ Archivos de programa (x86) \ ArcGIS \ Desktop10.0 \ arcpy \ arcpy. Por lo tanto, sugiere que el intérprete encuentre el módulo arcpy pero luego no lo inicialice (?).

Se puede llamar a Arcpy desde la ventana de Python dentro de ArcMap y ArcCatalog. Es solo cuando se llama desde un intérprete de Python que falla el 'importar arco'. Por lo tanto, ArcMap / ArcCatalog inicializa bien arcpy, pero no IDLE. ¿Cómo puede ser esto?

Anteriormente tuve una instalación de python25, luego python26 y luego de eso actualicé a ArcGIS 10. Por lo tanto, había bastante python heredado en mi máquina. Sin embargo, desinstalé todo y el registro se limpió con ccleaner.

¿Alguien puede sugerir otra línea de investigación ya que no tengo suficiente experiencia con Python para resolver los errores de inicialización / tiempo de ejecución? ¡También me gustaría evitar reinstalar el sistema operativo!

SamFranklin
fuente
también publicado en ... forums.arcgis.com/threads/…
1
Este enlace me ayudó. Agregué import arcserver antes de importar arcpy line. myarcgisserver.wordpress.com/2014/04/04/…
G ...... T ......

Respuestas:

5

Mirando sus publicaciones aquí y en los foros de ESRI, creo que tiene algunas configuraciones de entorno confusas.

Desea poner C: \ Python26 \ ArcGIS10.0 en la variable PATH de su sistema, que lo lleva a los ejecutables correctos desde IDLE, PythonWin o la línea de comandos.

Tu PYTHONPATH podría estar vacía. O bien, puede incluir las 3 estrofas de su archivo Desktop10.pth: C: \ Archivos de programa (x86) \ ArcGIS \ Desktop10.0 \ bin C: \ Archivos de programa; (x86) \ ArcGIS \ Desktop10.0 \ arcpy; C: \ Archivos de programa (x86) \ ArcGIS \ Desktop10.0 \ ArcToolbox \ Scripts: esas rutas tendrán prioridad sobre la búsqueda predeterminada de módulos (debajo de python.exe o pythonw.exe que se llama).

Finalmente, ya que ha desinstalado e instalado varias versiones de Python. En este punto, no debería haber nada debajo de la carpeta C: \ Python26, excepto la carpeta ArcGIS10.0 del ESRI que proporcionó la instalación de 32 bits de Python 2.6.5. Si hay un archivo Lib allí, es un residuo de una instalación anterior e interferirá. Sería un problema mayor si alguna de sus instalaciones anteriores de Python26 fuera de 64 bits.

Además, dado que está en Windows 7 de 64 bits, la ruta de registro a las claves de Python de 32 bits son HKLM \ SOFTWARE \ Wow6432Node \ Python Si tiene un HKLM \ SOFTWARE \ Python, serían claves para un 64-bit Instalar en pc. También interferirían con la instalación de 32 bits.

V Stuart Foote
fuente
Hola stuart Gracias por la info. He respondido en foros.arcgis.com , saludos Sam
SamFranklin
El hecho de que geoprocessing_base.pyse encuentre (vea el seguimiento de la pila) sugiere que no hay ningún problema para encontrar los módulos, lo que elimina su sugerencia de modificación PYTHONPATH. Solo podría haber un conflicto entre 64 y 32 Python si ambos están activadosPATH . Sin embargo, si se han eliminado las versiones de 64 bits, no pueden estar activadas PATH. (Incluso si la ubicación permanece de alguna manera PATH, ya no hay nada que encontrar).
jpmc26
5

Me encontré con este problema al configurar las secuencias de comandos en un nuevo entorno ... Olvidé configurar el servidor del administrador de licencias con ArcGIS Administrator.

Dowlers
fuente
2

hacer esto

  1. abrir el administrador de aplicaciones arcgis
  2. configurar el administrador de licencias

revise cuántos de cada nivel de licencia está disponible. si desea que arcpy verifique un nivel de licencia específico, querrá codificar así

import arcview
import arcpy
gotchula
fuente
Hola, intenté importar arcview. Recibió el siguiente error. Sin embargo, podría usar arcpy, ¿de acuerdo? >>> import arcview Traceback (última llamada reciente): Archivo "<pyshell # 3>", línea 1, en <module> import arcview File "C: \ Archivos de programa (x86) \ ArcGIS \ Desktop10.0 \ arcpy \ arcview.py ", línea 18, en <module> gp.setProduct (" ArcView ") RuntimeError: ERROR 999999: Error al ejecutar la función. >>> import arcpy >>> He proporcionado una respuesta completa en: bit.ly/ggtlio donde podría adjuntar capturas de pantalla y proporcionar una respuesta más completa.
SamFranklin
2

Esto es lo que hice, las variables de entorno Path y PYTHONPATH

Esto es suficiente para mi.

Utilicé PyScripter pero descargué la versión 2.7. Era necesario usar PyScripter para python 2.6 para no obtener ningún error con import arcpy

Diego Pajarito
fuente
0

En mi caso, no estaba conectado a la red directamente ni a través de VPN para validar la licencia de ArcGIS. Una vez que me conecté a la red, se resolvió el error "RuntimeError: NotInitialized" y mi script se ejecutó correctamente.

Sin embargo, debe ... 1) abrir el administrador de aplicaciones arcgis 2) configurar el administrador de licencias ... como mencionó gotchula

¡Espero que esto ayude!

Chirag
fuente