Уникнення помилки імпорту arcpy (RuntimeError: NotInitialized) при використанні IDLE?


11

Версія ArcGIS: ArcGIS 10, Python 2.6.5 Машина: Windows 7 64bit (Intel)

Я отримую таку помилку під час імпорту arcpy за допомогою IDLE (gui та cmd запит) та під час використання pythonwin.

Я видалив python26 та python25 зі своєї системи та здійснив нову інсталяцію ArcGIS 10 та python. Тому я дзвоню IDLE звідси: "C: \ Python26 \ ArcGIS10.0 \ pythonw.exe"

Помилка:

** IDLE 2.6.5

імпортувати Arcpy Traceback (останній виклик останній): Файл "", рядок 1, у файлі імпорту arcpy "C: \ Program Files (x86) \ ArcGIS \ Desktop10.0 \ arcpy \ arcpy__init __. py", рядок 17, з геопроцедури імпортувати gp-файл "C: \ Program Files (x86) \ ArcGIS \ Desktop10.0 \ arcpy \ arcpy \ geoprocessing__init __. py", рядок 14, в _base import * Файл "C: \ Program Files (x86) \ ArcGIS \ Desktop10 .0 \ arcpy \ arcpy \ geoprocessing_base.py ", рядок 568, в env = GPEnvironments (gp) Файл" C: \ програмні файли (x86) \ ArcGIS \ Desktop10.0 \ arcpy \ arcpy \ geoprocessing_base.py ", рядок 565 , у GPEnvironments повертає файл GPEnvironment (геопроцесор) Файл "C: \ програмні файли (x86) \ ArcGIS \ Desktop10.0 \ arcpy \ arcpy \ geoprocessing_base.py", рядок 521,в ініт self._refresh () Файл "C: \ програмні файли (x86) \ ArcGIS \ Desktop10.0 \ arcpy \ arcpy \ geoprocessing_base.py", рядок 523, у _refresh envset = (встановити (env для env у self._gp.listElvironments ())) RuntimeError: NotInitialized **

Технологічна підтримка EsriUK та Esri рекомендували нові перевстановлення та редагування реєстру = але це не спрацювало. Я чекаю на них рішення.

Я досліджував, чи це проблема з аркпійним модулем. На форумах Esri та на допомогу ArcGIS щодо шляхів є декілька посилань . Також можлива пов'язана нитка на gis.stackexchange .

Я дотримувався поради «кімо» на форумі Esri. Але все ж помилка імпорту.

  1. Моя системна змінна (яку я редагував): PYTHONPATH = "c: \ python26"; "C: \ Python26 \ ArcGIS10.0"; "C: \ Python26 \ ArcGIS10.0 \ Lib \ site-пакети"; " C: \ Файли програми (x86) \ ArcGIS \ Desktop10.0 \ arcpy "

  2. Я перевірив, чи є вміст "C: \ Python26 \ ArcGIS10.0 \ Lib \ site-пакети \ 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 \ Сценарії

Однак повідомлення про зворотний простір показує, що в папці знаходиться скрипт .py: C: \ Program Files (x86) \ ArcGIS \ Desktop10.0 \ arcpy \ arcpy. Отже, припускає, що інтерпретатор знайде модуль arcpy, але потім не ініціалізується (?).

Arcpy можна викликати з вікна Python в межах ArcMap та ArcCatalog. Лише при виклику інтерпретатора Python "імпорт архпії" не вдається. Отже, arcpy добре ініціалізується ArcMap / ArcCatalog, але не IDLE - як це може бути?

У мене раніше було встановлено python25, потім python26, потім після цього оновлено до ArcGIS 10. Тому на моїй машині було багато застарілого python. Однак я видалив все та очистив реєстр за допомогою ccleaner.

Чи може хтось запропонувати інший напрямок запиту, оскільки я не досвідчений з python, достатньо, щоб вирішити помилки ініціалізації / виконання? Я також хотів би уникати перевстановлення ОС!


також розміщено на ... forums.arcgis.com/threads/…

1
Це посилання допомогло мені. Я додав арксервер імпорту перед рядком імпорту arcpy. myarcgisserver.wordpress.com/2014/04/04/…
G ...... T ......

Відповіді:


5

Дивлячись на ваші публікації тут і на форумах ESRI, я думаю, у вас є деякі заплутані налаштування середовища.

Ви хочете помістити C: \ Python26 \ ArcGIS10.0 у вашу змінну PATH системи, яка приведе вас до правильних виконуваних файлів з IDLE, PythonWin або командного рядка.

Ваш ПІТОНПАТ може бути порожнім. Або ви можете просто включити 3 строфи вашого файлу 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 - ці шляхи матимуть перевагу над пошуковими модулями за замовчуванням (під викликом python.exe або pythonw.exe).

Нарешті, оскільки ви видалили та встановили кілька версій Python. На даний момент у папці C: \ Python26 не повинно бути нічого, крім папки ArcGIS10.0 ESRI за умови встановлення 32-бітної установки Python 2.6.5. Якщо там є файл Lib, він є залишком попередньої установки та заважатиме. Було б більшою проблемою, якби будь-які або попередні встановлення Python26 були 64-бітними.

Крім того, оскільки ви перебуваєте в 64-розрядної Windows 7, шлях до реєстру до 32-розрядних клавіш Python - це HKLM \ SOFTWARE \ Wow6432Node \ Python Якщо у вас є HKLM \ SOFTWARE \ Python, вони будуть клавішами для 64-розрядних встановити. Вони також перешкоджатимуть встановленню 32-біт.


Привіт Стюарт. Дякую за інформацію. Я відповів на forums.arcgis.com , привіт , Sam
SamFranklin

Той факт, geoprocessing_base.pyщо знайдений (див. Слід стека), настійно говорить про те, що немає проблеми з пошуком модулів, що виключає вашу пропозицію змінити PYTHONPATH. Конфлікт між 64 та 32 Python міг бути лише у тому випадку, якщо обидва увімкненоPATH . Однак якщо 64-бітні версії були видалені, вони не можуть бути включені PATH. (Навіть якщо місце розташування якимось чином залишається PATHтам, більше нічого там знайти.)
jpmc26

5

Я зіткнувся з цією проблемою під час налаштування сценарію в новому середовищі .... Я забув встановити сервер менеджера ліцензій за допомогою ArcGIS Administrator.


2

зробити це

  1. відкрити менеджер програм arcgis
  2. встановити менеджера ліцензій

переглянути кількість доступних для кожного рівня ліцензій. якщо ви хочете, щоб аркпі перевірив конкретний рівень ліцензії, вам потрібно буде кодувати так

import arcview
import arcpy

Привіт - спробував Arcview імпорту. Отримала таку помилку. Тим не менш, я міг би використовувати Arcpy добре? >>> імпортувати відстеження arcview (останній виклик останній): Файл "<pyshell # 3>", рядок 1, у <module> імпортувати файл arcview "C: \ Program Files (x86) \ ArcGIS \ Desktop10.0 \ arcpy \ arcview.py ", рядок 18, в <module> gp.setProduct (" ArcView ") RuntimeError: ПОМИЛКА 999999: Помилка виконання функції. >>> імпортувати архпію >>> Я надав повну відповідь на: bit.ly/ggtlio, де я міг би долучити скріншоти та надати більш повну відповідь.
SamFranklin

2

Це те, що я зробив, змінні середовища Path і PYTHONPATH

цього мені достатньо.

Я використовував PyScripter, але я завантажив версію 2.7, Потрібно було використовувати PyScripter для python 2.6, щоб не мати помилок при імпорті arcpy


1

У моєму випадку я не був підключений до мережі безпосередньо або через VPN для перевірки ліцензії ArcGIS. Після підключення до мережі помилка "RuntimeError: NotInitialized" була усунена, і мій сценарій успішно запустився.

Хоча вам потрібно ... 1) відкрити менеджер програм arcgis 2) встановити менеджер ліцензій ... як згадує gotchula

Сподіваюся, це допомагає!

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.