проблемы импорта arcpy в Python IDLE

9

Я хотел бы использовать arcpy в моем коде Python. Я могу импортировать его через консоль Python для рабочего стола ARCGIS. Но я не могу импортировать его в Python IDLE. Я получаю следующую ошибку

Traceback (most recent call last):

File "C:\Python26\lib\site-packages\win32com\client\dynamic.py", line 246, in 
__getitem__raise TypeError("This object does not support enumeration") 

Я упомянул следующие папки как часть моего пути к Python.

C:\Program Files\ArcGIS\Desktop10.0\arcpy;
C:\Program Files\ArcGIS\Desktop10.0\arcpy\arcpy;
C:\Python26\ArcGIS10.0\Tools\Scripts

Я нашел ту же самую проблему, упомянутую.

import arcpy дает "TypeError: Этот объект не поддерживает перечисление"

Пользователь говорит, что это связано со следующим:

Я написал для Arcgis 9 и 10 в том же каталоге. Что-то в логике инициализации в импорте arcpy находит пользовательский arcgisscripting.py, используемый для запуска python 2.6 с arcgis 9.3, когда они расположены вместе.

У меня есть только ARCGIS 10, и я не знаю, как arcpy ищет свои модули.

Картик Бхарадвадж
источник
Вы просто вводите import arcpy в оболочку Python (из IDLE), чтобы увидеть эту ошибку? Или, возможно, просто наберите import arcpy в окне Python (из IDLE) и запустите его, чтобы увидеть его? Вы должны использовать длинный PYTHONPATH? У меня просто есть PYTHONPATH = C: \ Python26 и C: \ Python26 \ ArcGIS10.0 как часть моей переменной PATH.
PolyGeo
да, я просто импортирую модуль в окне IDLE. Я также попытался использовать этот интерпретатор python в ARCGIS, импортировал модули arpy. Я все еще получаю ошибку.
Картик Бхарадвад
1
Вы должны использовать длинный PYTHONPATH? У меня просто есть PYTHONPATH = C: \ Python26 и C: \ Python26 \ ArcGIS10.0 как часть моей переменной PATH.
PolyGeo
1
Решение для Windows -> переустановить ArcGIS и Python.
Арагон
1
Я хотел бы понять, как основная проблема и как она вызвана, в худшем случае я думаю, что мне нужно удалить оба. @PolyGeo. Я изменил свой путь и переменную пути Python. но проблема устраняет то же самое.
Картик Бхарадвад

Ответы:

9

Исправь свой PYTHONPATH. Из справки ArcGIS:

При использовании оператора импорта Python ищет модуль, соответствующий этому имени, в следующих местах (и в следующем порядке):

  1. Пути, указанные в PYTHONPATHсистемной переменной среды
  2. Набор стандартных папок Python (текущая папка, C:\python2x\lib, C:\python2x\Lib\site-packagesи т.д.)
  3. Пути, указанные внутри любого .pthфайла, найденного в 1 и 2

Для получения дополнительной информации см. Следующее: http://docs.python.org/install/index.html#modifying-python-s-search-path . При установке продуктов ArcGIS 10.0 будет установлен Python 2.6, если он еще не установлен. Установка также добавит файл Desktop10.pth(или Engine10.pthили Server10.pth) в python26\Lib\site-packages. Содержимое этого файла состоит из двух строк, содержащих путь к папкам arcpy и bin, установленным в вашей системе ArcGIS. Эти два пути необходимы для успешного импорта ArcPy в Python версии 2.6. При использовании оператора импорта Python обращается к PYTHONPATHпеременной среды вашей системы, чтобы найти файлы модуля. Эта переменная установлена ​​в список каталогов.


Подсказка:

Если импорт ArcPy приводит к одной из следующих ошибок, необходимые модули не могут быть найдены: ImportError: No module named arcpy ImportError: No module named arcgisscripting

Чтобы решить эту проблему, перейдите с помощью проводника Windows в python26\Lib\site-packagesпапку и добавьте или измените Desktop10.pthфайл. Файл должен содержать две строки, показанные ниже (исправленные по пути вашей системы, если они не совпадают):

  • C:\Program Files\ArcGIS\Desktop10.0\arcpy
  • C:\Program Files\ArcGIS\Desktop10.0\bin
пользователь
источник
Спасибо всем. Например, @Aragon предложил переустановить ARCGIS Desktop и Python. поместите файл Desktop.pth на место, и это сработало.
Картик Бхарадвадж,