видає імпорт 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

Я виявив, що саме питання згадується.

імпортувати arcpy поступається "TypeError: Цей об'єкт не підтримує перерахування"

Користувач каже, що це пов'язано з наступним:

Я писав для Arcgis 9 і 10 в одному каталозі. Щось про логіку ініціалізації в arcpy імпорту знаходить спеціальний arcgisscripting.py, який використовується для запуску python 2.6 з arcgis 9.3, коли вони розташовані разом.

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


Ви просто набираєте імпортну аркпію в оболонку Python (IDLE), щоб побачити цю помилку? Чи, можливо, просто набрати імпортну аркпію у вікно Python (IDLE) та використовувати Run Module, щоб побачити це? Чи потрібно використовувати довгий ПІТОНПАТ? У мене просто PYTHONPATH = C: \ Python26 і C: \ Python26 \ ArcGIS10.0 як частина моєї змінної PATH.
PolyGeo

так, я просто імпортував модуль у вікні IDLE. Я також спробував використовувати цей інтерпретатор python в ARCGIS, імпортував модулі arpy. Я все одно отримую помилку.
Karthik Bharadwaj

1
Чи потрібно використовувати довгий ПІТОНПАТ? У мене просто PYTHONPATH = C: \ Python26 і C: \ Python26 \ ArcGIS10.0 як частина моєї змінної PATH.
PolyGeo

1
рішення Windows -> перевстановити як arcgis, так і python.
Арагон

1
Я хотів би зрозуміти, як основне питання і як воно викликане, в гіршому випадку я думаю, що мені доведеться видалити обидва. @PolyGeo. Я змінив шлях і змінну шляху пітона. але проблема усуває те саме.
Karthik Bharadwaj

Відповіді:


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