Evitare l'errore arcpy di importazione (RuntimeError: NotInitialized) quando si utilizza IDLE?


11

Versione ArcGIS: ArcGIS 10, Python 2.6.5 Macchina: Windows 7 64 bit (Intel)

Ricevo il seguente errore durante l'importazione di arcpy usando l'IDLE (gui e cmd prompt) e quando si usa pythonwin.

Avevo rimosso python26 e python25 dal mio sistema e ho eseguito una nuova installazione di ArcGIS 10 e python. Quindi sto chiamando IDLE da qui: "C: \ Python26 \ ArcGIS10.0 \ pythonw.exe"

L'errore:

** IDLE 2.6.5

import arcpy Traceback (ultima chiamata più recente): file "", riga 1, in import file arcpy "C: \ Programmi (x86) \ ArcGIS \ Desktop10.0 \ arcpy \ arcpy__init __. py", riga 17, da geoprocessing import gp File "C: \ Programmi (x86) \ ArcGIS \ Desktop10.0 \ arcpy \ arcpy \ geoprocessing__init __. py", riga 14, da _base import * File "C: \ Programmi (x86) \ ArcGIS \ Desktop10 .0 \ arcpy \ arcpy \ geoprocessing_base.py ", riga 568, in env = GPEnvironments (gp) File" C: \ Programmi (x86) \ ArcGIS \ Desktop10.0 \ arcpy \ arcpy \ geoprocessing_base.py ", riga 565 , in GPEnvironments restituisce il file GPEnvironment (geoprocessore) "C: \ Programmi (x86) \ ArcGIS \ Desktop10.0 \ arcpy \ arcpy \ geoprocessing_base.py", riga 521,in init self._refresh () File "C: \ Programmi (x86) \ ArcGIS \ Desktop10.0 \ arcpy \ arcpy \ geoprocessing_base.py", riga 523, in _refresh envset = (set (env per env in self._gp.listEnvironments ())) RuntimeError: NotInitialized **

Il supporto tecnico di EsriUK ed Esri ha raccomandato nuove reinstallazione e modifiche del registro = ma questo non ha funzionato. Sto aspettando loro una soluzione.

Ho studiato se si trattava di un problema relativo al percorso arcpy del modulo. Ci sono un paio di collegamenti sui forum Esri e sull'aiuto di ArcGIS per quanto riguarda i percorsi . Inoltre, un possibile thread correlato su gis.stackexchange .

Ho seguito il consiglio di 'kimo' sul thread del forum Esri. Ma ancora l'errore di importazione.

  1. La mia variabile di sistema (che ho modificato) è: PYTHONPATH = "c: \ python26"; "C: \ Python26 \ ArcGIS10.0"; "C: \ Python26 \ ArcGIS10.0 \ Lib \ site-pacchetti"; " C: \ Programmi (x86) \ ArcGIS \ Desktop10.0 \ arcpy "

  2. Ho verificato di avere il contenuto di "C: \ Python26 \ ArcGIS10.0 \ Lib \ site-pacchetti \ Desktop10.pth". I contenuti sono: C: \ Programmi (x86) \ ArcGIS \ Desktop10.0 \ bin C: \ Programmi (x86) \ ArcGIS \ Desktop10.0 \ arcpy C: \ Programmi (x86) \ ArcGIS \ Desktop10.0 \ ArcToolbox \ Scripts

Tuttavia, il messaggio traceback mostra che è stato trovato uno script .py nella cartella: C: \ Programmi (x86) \ ArcGIS \ Desktop10.0 \ arcpy \ arcpy. Pertanto, suggerisce che il modulo arcpy sia trovato dall'interprete ma non inizializzato (?).

Arcpy può essere chiamato dalla finestra di Python all'interno di ArcMap e ArcCatalog va bene. È solo quando viene chiamato da un interprete Python che "import arcpy" fallisce. Pertanto, arcpy non viene inizializzato correttamente da ArcMap / ArcCatalog, ma non IDLE - come può essere?

In precedenza avevo un'installazione di python25, quindi python26 e successivamente l'upgrade a ArcGIS 10. Pertanto, sul mio computer era presente un sacco di Python legacy. Tuttavia, ho disinstallato tutto e il registro è stato pulito usando ccleaner.

Qualcuno può suggerire un'altra linea di indagine in quanto non ho esperienza con Python abbastanza per risolvere errori di inizializzazione / runtime? Vorrei evitare di reinstallare anche il sistema operativo!


pubblicato anche su ... forums.arcgis.com/threads/…

1
Questo link mi ha aiutato. Ho aggiunto import arcserver prima di importare la linea arcpy. myarcgisserver.wordpress.com/2014/04/04/…
G ...... T ......

Risposte:


5

Guardando i tuoi post qui e sui forum ESRI, penso che tu abbia alcune impostazioni dell'ambiente confuse.

Vuoi mettere C: \ Python26 \ ArcGIS10.0 nella variabile PATH del tuo sistema, che ti porta ai file eseguibili corretti da IDLE, PythonWin o dalla riga di comando.

Il tuo PYTHONPATH potrebbe essere vuoto. Oppure, potresti semplicemente includere le 3 stanze del tuo file Desktop10.pth: C: \ Programmi (x86) \ ArcGIS \ Desktop10.0 \ bin C: \ Programmi; (X86) \ ArcGIS \ Desktop10.0 \ ArcPy; C: \ Programmi (x86) \ ArcGIS \ Desktop10.0 \ ArcToolbox \ Scripts - quei percorsi avranno quindi la precedenza sulla ricerca predefinita dei moduli (sotto il python.exe o pythonw.exe chiamato).

Infine, poiché hai disinstallato e installato diverse versioni di Python. A questo punto, non ci dovrebbe essere nulla nella cartella C: \ Python26 tranne la cartella ArcGIS10.0 dell'ESRI fornita con l'installazione a 32 bit di Python 2.6.5. Se esiste un file Lib, è un residuo di un'installazione precedente e interferirà. Sarebbe un problema più grande se una qualsiasi o le tue precedenti installazioni di Python26 fossero a 64 bit.

Inoltre, poiché sei su Windows 7 a 64 bit, il percorso del Registro di sistema alle chiavi Python a 32 bit è HKLM \ SOFTWARE \ Wow6432Node \ Python Se hai un HKLM \ SOFTWARE \ Python, sarebbero chiavi per un 64 bit installare. Interferirebbero anche con l'installazione a 32 bit.


Ciao Stuart. Grazie per le informazioni. Ho risposto su forums.arcgis.com , saluti Sam
SamFranklin,

Il fatto che geoprocessing_base.pyviene trovato (vedi la traccia dello stack) suggerisce fortemente che non ci sono problemi nel trovare i moduli, il che elimina il tuo suggerimento di modifica PYTHONPATH. Potrebbe esserci un conflitto tra 64 e 32 Python solo se entrambi sono attiviPATH . Tuttavia, se le versioni a 64 bit sono state rimosse, non possono essere attivate PATH. (Anche se la posizione in qualche modo rimane PATH, non c'è più nulla da trovare.)
jpmc26,

5

Ho riscontrato questo problema durante l'impostazione dello scripting in un nuovo ambiente .... Avevo dimenticato di impostare il server del gestore delle licenze utilizzando ArcGIS Administrator.


2

Fai questo

  1. apri il gestore dell'applicazione arcgis
  2. impostare il gestore delle licenze

rivedere quanti di ciascun livello di licenza è disponibile. se vuoi che arcpy controlli un livello di licenza specifico, ti consigliamo di codificare in questo modo

import arcview
import arcpy

Ciao, ho provato a importare arcview. Ricevuto il seguente errore Tuttavia, potrei usare Arcpy, ok? >>> import arcview Traceback (ultima chiamata più recente): File "<pyshell # 3>", linea 1, in <modulo> import arcview File "C: \ Programmi (x86) \ ArcGIS \ Desktop10.0 \ arcpy \ arcview.py ", riga 18, in <modulo> gp.setProduct (" ArcView ") RuntimeError: ERRORE 999999: errore nell'esecuzione della funzione. >>> import arcpy >>> Ho fornito una risposta completa su: bit.ly/ggtlio dove ho potuto allegare schermate e fornire una risposta più completa.
SamFranklin,

2

Questo è quello che ho fatto, le variabili Path e PYTHONPATH Environment

questo è abbastanza per me.

Ho usato PyScripter ma ho scaricato la versione 2.7, era necessario utilizzare PyScripter per Python 2.6 per non ottenere errori con l'importazione arcpy


0

Nel mio caso, non ero collegato direttamente alla rete o tramite VPN per convalidare la licenza ArcGIS. Una volta connesso alla rete, l'errore "RuntimeError: NotInitialized" è stato risolto e il mio script è stato eseguito correttamente.

Tuttavia, è necessario ... 1) aprire il gestore applicazioni arcgis 2) impostare il gestore delle licenze ... come indicato da gotchula

Spero che questo ti aiuti!

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.