Vous évitez l'erreur Arcpy d'importation (RuntimeError: NotInitialized) lorsque vous utilisez IDLE?


11

Version ArcGIS: ArcGIS 10, Python 2.6.5 Machine: Windows 7 64 bits (Intel)

Je reçois l'erreur suivante lors de l'importation d'arcpy à l'aide de l'IDLE (invite gui et cmd) et lors de l'utilisation de pythonwin.

J'avais supprimé python26 et python25 de mon système et j'ai fait une nouvelle installation d'ArcGIS 10 et de python. Par conséquent, j'appelle IDLE à partir d'ici: "C: \ Python26 \ ArcGIS10.0 \ pythonw.exe"

L'erreur:

** IDLE 2.6.5

import arcpy Traceback (dernier appel en date): Fichier "", ligne 1, dans import arcpy File "C: \ Program Files (x86) \ ArcGIS \ Desktop10.0 \ arcpy \ arcpy__init __. py", ligne 17, à partir du géotraitement importer le fichier gp "C: \ Program Files (x86) \ ArcGIS \ Desktop10.0 \ arcpy \ arcpy \ geoprocessing__init __. py", ligne 14, dans depuis _base import * File "C: \ Program Files (x86) \ ArcGIS \ Desktop10 .0 \ arcpy \ arcpy \ geoprocessing_base.py ", ligne 568, dans env = GPEnvironments (gp) Fichier" C: \ Program Files (x86) \ ArcGIS \ Desktop10.0 \ arcpy \ arcpy \ geoprocessing_base.py ", ligne 565 , dans GPEnvironments, retournez GPEnvironment (géoprocesseur) Fichier "C: \ Program Files (x86) \ ArcGIS \ Desktop10.0 \ arcpy \ arcpy \ geoprocessing_base.py", ligne 521,in init self._refresh () Fichier "C: \ Program Files (x86) \ ArcGIS \ Desktop10.0 \ arcpy \ arcpy \ geoprocessing_base.py", ligne 523, dans _refresh envset = (set (env pour env dans self._gp.listEnvironments ())) RuntimeError: NotInitialized **

Le support technique d'EsriUK et d'Esri a recommandé une nouvelle réinstallation et des modifications du registre = mais cela n'a pas fonctionné. J'attends d'eux une solution.

J'ai cherché à savoir s'il s'agissait d'un problème de chemin arcpy de module. Il existe quelques liens sur les forums Esri et sur l' aide d'ArcGIS concernant les chemins . Également, un fil conducteur possible sur gis.stackexchange .

J'ai suivi les conseils de 'kimo' sur le fil de discussion Esri. Mais toujours l'erreur d'importation.

  1. Ma variable système (que j'ai modifiée) est: PYTHONPATH = "c: \ python26"; "C: \ Python26 \ ArcGIS10.0"; "C: \ Python26 \ ArcGIS10.0 \ Lib \ site-packages"; " C: \ Program Files (x86) \ ArcGIS \ Desktop10.0 \ arcpy "

  2. J'ai vérifié que j'ai le contenu de "C: \ Python26 \ ArcGIS10.0 \ Lib \ site-packages \ Desktop10.pth". Le contenu est le suivant: C: \ Program Files (x86) \ ArcGIS \ Desktop10.0 \ bin C: \ Program Files (x86) \ ArcGIS \ Desktop10.0 \ arcpy C: \ Program Files (x86) \ ArcGIS \ Desktop10.0 \ ArcToolbox \ Scripts

Cependant, le message de trace montre qu'un script .py se trouve dans le dossier: C: \ Program Files (x86) \ ArcGIS \ Desktop10.0 \ arcpy \ arcpy. Par conséquent, suggère que le module arcpy est trouvé par l'interpréteur mais pas initialisé (?).

Arcpy peut être appelé à partir de la fenêtre Python dans ArcMap et ArcCatalog. Ce n'est que lorsqu'il est appelé à partir d'un interpréteur Python que «l'importation arcpy» échoue. Par conséquent, arcpy est correctement initialisé par ArcMap / ArcCatalog, mais pas IDLE - comment cela peut-il être?

J'avais auparavant une installation de python25, puis python26, puis mis à niveau vers ArcGIS 10. Par conséquent, il y avait beaucoup de python hérité sur ma machine. Cependant, j'ai désinstallé tout et nettoyé le registre à l'aide de ccleaner.

Quelqu'un peut-il suggérer une autre piste de recherche, car je n'ai pas assez d'expérience avec python pour résoudre les erreurs d'initialisation / d'exécution? Je voudrais également éviter de réinstaller le système d'exploitation!


également posté sur ... forums.arcgis.com/threads/…

1
Ce lien m'a aidé. J'ai ajouté l'importation arcserver avant l'importation de la ligne arcpy. myarcgisserver.wordpress.com/2014/04/04/…
G ...... T ......

Réponses:


5

En regardant vos messages ici et sur les forums ESRI, je pense que vous avez des paramètres d'environnement confus.

Vous voulez mettre C: \ Python26 \ ArcGIS10.0 dans votre variable PATH système, qui vous amène aux bons exécutables depuis IDLE, PythonWin ou la ligne de commande.

Votre PYTHONPATH est peut-être vide. Ou, vous pouvez simplement inclure les 3 strophes de votre fichier Desktop10.pth: C: \ Program Files (x86) \ ArcGIS \ Desktop10.0 \ bin C: \ Program Files; (x86) \ ArcGIS \ Desktop10.0 \ arcpy; C: \ Program Files (x86) \ ArcGIS \ Desktop10.0 \ ArcToolbox \ Scripts - ces chemins auront alors la priorité sur la recherche par défaut des modules (sous le python.exe ou le pythonw.exe appelé).

Enfin, puisque vous avez désinstallé et installé plusieurs versions de Python. À ce stade, il ne devrait y avoir rien sous le dossier C: \ Python26 à l'exception du dossier ArcGIS10.0 de l'installation 32 bits Python 2.6.5 fournie par ESRI. S'il y a un fichier Lib, il s'agit d'un résidu d'une installation antérieure et interférera. Ce serait un problème plus important si l'une ou vos installations précédentes de Python26 étaient en 64 bits.

De plus, étant donné que vous utilisez Windows 7 64 bits, le chemin du Registre vers les clés Python 32 bits est HKLM \ SOFTWARE \ Wow6432Node \ Python Si vous avez un HKLM \ SOFTWARE \ Python, ce serait des clés pour un 64 bits installer. Ils interféreraient également avec l'installation 32 bits.


Salut Stuart. Merci pour l'info. J'ai répondu sur forums.arcgis.com , acclamations Sam
SamFranklin

Le fait d' geoprocessing_base.pyêtre trouvé (voir la trace de la pile) suggère fortement qu'il n'y a aucun problème à trouver les modules, ce qui élimine votre suggestion de modification PYTHONPATH. Il ne peut y avoir de conflit entre 64 et 32 ​​Python que si les deux sont activésPATH . Cependant, si les versions 64 bits ont été supprimées, elles ne peuvent pas être activées PATH. (Même si l'emplacement reste en quelque sorte PATH, il n'y a plus rien à trouver.)
jpmc26

5

J'ai rencontré ce problème lors de la configuration des scripts dans un nouvel environnement .... J'avais oublié de configurer le serveur du gestionnaire de licences à l'aide d'ArcGIS Administrator.


2

fais ça

  1. ouvrir le gestionnaire d'applications arcgis
  2. définir le gestionnaire de licence

vérifiez combien de chaque niveau de licence est disponible. si vous voulez qu'arcpy vérifie un niveau de licence spécifique, vous voudrez coder comme ceci

import arcview
import arcpy

Salut - essayé l'importation arcview. Reçu l'erreur suivante. Cependant, je pourrais alors utiliser arcpy, d'accord? >>> importation arcview Traceback (dernier appel le plus récent): Fichier "<pyshell # 3>", ligne 1, dans <module> import arcview File "C: \ Program Files (x86) \ ArcGIS \ Desktop10.0 \ arcpy \ arcview.py ", ligne 18, dans <module> gp.setProduct (" ArcView ") RuntimeError: ERREUR 999999: erreur lors de l'exécution de la fonction. >>> import arcpy >>> J'ai fourni une réponse complète sur: bit.ly/ggtlio où je pourrais joindre des captures d'écran et fournir une réponse plus complète.
SamFranklin

2

Voici ce que j'ai fait, les variables Path et PYTHONPATH Environment

cela me suffit.

J'ai utilisé PyScripter mais j'ai téléchargé la version 2.7, il était nécessaire d'utiliser le PyScripter pour python 2.6 pour ne pas avoir d'erreur avec l'importation arcpy


0

Dans mon cas, je n'étais pas connecté au réseau directement ou via VPN pour valider la licence ArcGIS. Une fois que je me suis connecté au réseau, l'erreur "RuntimeError: NotInitialized" a été résolue et mon script s'est exécuté avec succès.

Cependant, vous devez ... 1) ouvrir le gestionnaire d'applications arcgis 2) définir le gestionnaire de licence ... comme mentionné par gotchula

J'espère que cela t'aides!

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.