Версия 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 \ геопроцессинг__init __. py", строка 14, из _base import * Файл "C: \ Program Files (x86) \ ArcGIS \ Desktop10 .0 \ arcpy \ arcpy \ геопроцессинг_base.py ", строка 568, в env = GPEnvironments (gp) Файл" C: \ Program Files (x86) \ ArcGIS \ Desktop10.0 \ arcpy \ arcpy \ геопроцессинг_base.py ", строка 565 , в GPEnvironments вернуть файл GPEnvironment (геопроцессор) "C: \ Program Files (x86) \ ArcGIS \ Desktop10.0 \ arcpy \ arcpy \ геопроцессинг_base.py", строка 521,в init Файл self._refresh () "C: \ Program Files (x86) \ ArcGIS \ Desktop10.0 \ arcpy \ arcpy \ геопроцессинг_base.py", строка 523, в _refresh envset = (установить (env для env в self._gp.listEnvironments) ())) RuntimeError: NotInitialized **
Службы технической поддержки EsriUK и Esri рекомендовали новую переустановку и изменения реестра = но это не сработало. Я жду от них решения.
Я исследовал, была ли это проблема с дугообразным путем модуля. На форумах Esri и в справке ArcGIS есть несколько ссылок относительно путей . Также возможен связанный поток на gis.stackexchange .
Я последовал совету 'kimo' в ветке форума Esri. Но все равно ошибка импорта.
Моя системная переменная (которую я редактировал): PYTHONPATH = "c: \ python26"; "C: \ Python26 \ ArcGIS10.0"; "C: \ Python26 \ ArcGIS10.0 \ Lib \ site-packages"; " C: \ Program Files (x86) \ ArcGIS \ Desktop10.0 \ arcpy "
Я проверил, у меня есть содержимое "C: \ Python26 \ ArcGIS10.0 \ Lib \ site-packages \ 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
Однако сообщение трассировки показывает, что в папке находится сценарий .py: C: \ Program Files (x86) \ ArcGIS \ Desktop10.0 \ arcpy \ arcpy. Следовательно, предполагает, что модуль arcpy найден интерпретатором, но затем не инициализирован (?).
Arcpy можно вызвать из окна Python в ArcMap и ArcCatalog. Только при вызове из интерпретатора Python происходит сбой «arcpy импорта». Следовательно, arcpy хорошо инициализируется ArcMap / ArcCatalog, но не IDLE - как это может быть?
Ранее у меня была установка python25, затем python26, затем после этого он обновился до ArcGIS 10. Поэтому на моей машине было довольно много устаревших python. Тем не менее, я удалил все, и реестр очищен с помощью ccleaner.
Может ли кто-нибудь предложить другую линию исследования, так как я недостаточно разбираюсь в python для решения ошибок инициализации / времени выполнения? Я бы тоже хотел избежать переустановки ОС!
Ответы:
Глядя на ваши посты здесь и на форумах ESRI, я думаю, что у вас есть некоторые запутанные настройки среды.
Вы хотите поместить C: \ Python26 \ ArcGIS10.0 в системную переменную PATH, чтобы получить правильные исполняемые файлы из IDLE, PythonWin или командной строки.
Ваш PYTHONPATH может быть пустым. Или вы можете просто включить 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-битной установке.
источник
geoprocessing_base.py
что обнаруживается (см. Трассировку стека), убедительно свидетельствует о том, что нет проблем с поиском модулей, что исключает ваше предложение изменитьPYTHONPATH
. Конфликт между 64 и 32 Python может быть только при включенииPATH
обоих . Однако, если 64-разрядные версии были удалены, они не могут быть включеныPATH
. (Даже если местоположение каким-то образом остаетсяPATH
, там больше нечего найти.)Я столкнулся с этой проблемой при настройке сценариев в новой среде .... Я забыл установить сервер менеджера лицензий с помощью ArcGIS Administrator.
источник
сделай это
проверьте, сколько из каждого уровня лицензии доступно. если вы хотите, чтобы arcpy проверил определенный уровень лицензии, вам нужно написать код, подобный этому
источник
Это то, что я сделал, переменные Path и PYTHONPATH Environment
этого мне достаточно.
Я использовал PyScripter, но я скачал версию 2.7. Необходимо было использовать PyScripter для Python 2.6, чтобы не было ошибок при импорте arcpy
источник
В моем случае я не был подключен к сети напрямую или через VPN для проверки лицензии ArcGIS. Как только я подключился к сети, ошибка «RuntimeError: NotInitialized» была устранена, и мой сценарий был успешно выполнен.
Хотя вам нужно ... 1) открыть менеджер приложений arcgis 2) установить менеджер лицензий ... как упоминалось в gotchula
Надеюсь это поможет!
источник