Как получить доступ к модулям Esri ArcPy из Enthought Canopy?

10

В моей системе Windows работает ArcGIS 10.1, и я также установил новый 32-битный дистрибутив Python для Canopy Express Enthought.

Можно ли загрузить и использовать модули Esri ArcPy из Canopy?

SharonB
источник
Я использовал решение первого ответа и работал отлично, но мне нужен Canopy x64, есть ли способ импортировать эту библиотеку на Canopy x64?
Μανώλης Παναγιωτάκης

Ответы:

20

Есть простой способ, который не связан с работой с вашей системой PATH или PYTHONPATH.

Дистрибутивы Enthought Python, включая Canopy x32, являются автономными и не нуждаются ни в чем в реестре или в переменных среды. Таким образом, они могут хорошо играть с другими дистрибутивами Python, такими как та, которая поставляется с ArcGIS 10.1.

Чтобы получить доступ к модулям Python ArcGIS 10.1 из Enthought Canopy : Создайте в каталоге пользователей Canopy файл «path», который указывает на модули Python ArcGIS 10.1. В моей системе я создал текстовый файл arcpy.pthс четырьмя строками:

# .pth file for arcpy
C:\ArcGIS\Desktop10.1\bin
C:\ArcGIS\Desktop10.1\arcpy
C:\ArcGIS\Desktop10.1\ArcToolbox\Scripts

и поместите arcpy.pthв каталог пакетов сайта пользователя Canopy:

C:\Users\rsignell\AppData\Local\Enthought\Canopy32\User\lib\site-packages

Чтобы получить доступ к модулям Enthought Canopy из ArcGIS 10.1 : Создайте файл «path» в папке пакетов сайтов Arc, который указывает на модули Python Canopy. В моей системе я создал текстовый файл epd.pthс тремя строками:

# .pth file for EPD Canopy
C:\Users\rsignell\AppData\Local\Enthought\Canopy32\User\Lib\site-packages
C:\Users\rsignell\AppData\Local\Enthought\Canopy32\System\Lib\site-packages

и затем поместите epd.pthв папку пакета пакета Arc:

C:\Python27\ArcGIS10.1\Lib\site-packages

Это все, что мне нужно было сделать!

-Богатые

PS Это работает, потому что Enthought Canopy 1.0 и ArcGIS10.1 находятся на одной и той же версии Python (2.7) и Numpy (1.6.1). Я надеюсь, что мы можем продолжать иметь эту совместимость!

Обновление: я только что попробовал это с Canopy 1.0.3, который использует Numpy 1.7.1, и он все еще работает, даже если ArcGIS 10.1 на Numpy 1.6.1. Ура! Yippee!

Рич Синьелл
источник
3
Несколько замечаний: 1. Убедитесь, что вы установили EPD / Canopy x32 для использования с ArCGIS Desktop. 2. Файлы pth загружаются в алфавитном порядке, поэтому во избежание конфликтов я назвал следующие файлы: «zzArcGIS.pth» (папка Canopy site-packages) и «zzEPD.pth» (папка ArcGIS site-packages). 3. Если вы используете ArcGIS Desktop x64 Background GP или ArcGIS Server (который использует Python x64), вам необходимо установить 64-битный EPD / Canopy и добавить файлы .pth, указывающие на папки 64-битных EPD и ArcGIS Python для пакетов сайтов. ,
Кертис Прайс
3

Да, это так. Вот выдержка из внутреннего руководства по установке, которое только что использовалось для того же на моем компьютере (пожалуйста, убедитесь, что оно применимо к вашему конкретному компьютеру):


Настроить среду для EPD

  1. Добавьте новый PATH в свои пользовательские переменные (добавьте epd к PATH):

    (отредактируйте пути ниже в соответствии с используемой версией EPD или ArcGIS) PATH=C:\Python27_epd32;C:\Python27_epd32\Scripts;%PATH%

  2. Если ArcGIS установлен, установите переменную окружения PYTHONPATH, чтобы
    ArcGIS мог импортировать модули EPD, а EPD мог импортировать ArcPy:

    PYTHONPATH= C:\Python27_epd32\lib\site-packages; C:\ArcGIS\Desktop10.1\bin; C:\ArcGIS\Desktop10.1\arcpy; C:\ArcGIS\Desktop10.1\ArcToolbox\Scripts

Если у вас возникают проблемы с ArcGIS, конфликтующим с EPD, вы можете легко удалить EPD из среды ArcGIS, удалив ссылки на EPD в PYTHONPATH.


Отказ от ответственности! Хотя описанные ниже шаги работали для меня в прошлом, я не очень разбираюсь в DOS, и мне было бы лучше, если бы вы проконсультировались с кем-то из вашего ИТ-отдела, чтобы убедиться, что я не раздаю плохие советы. С этим сказал, читайте дальше ...

Добавление путей к переменным среды довольно просто с помощью командной строки DOS (Все программы> Стандартные> Командная строка). Вы будете использовать команду setxдля постоянного изменения ваших переменных PATHи PYTHONPATHпеременных окружения.

В командной строке введите « echo %PATH%»; он выведет строку, которая является PATHпеременной. По сути, это просто длинная строка символов. Теперь попробуйте это с PYTHONPATHпеременной, чтобы увидеть, что в этом. Вы заметите, что каждый путь в этих переменных отделен точкой с запятой ( ;). Когда мы добавляем новые пути к этим переменным, мы должны включать их.

введите описание изображения здесь

По сути, вы будете говорить компьютеру, что вы хотите, чтобы ваши новые переменные PATHи PYTHONPATHпеременные равнялись некоторой новой строке (пути) (вроде C:\Python27_epd32\lib\site-packages;C:\ArcGIS\Desktop10.1\bin;) плюс то, что уже сохранено в переменной.

Команда, которую вы будете выполнять для установки вашей PATHпеременной: setx PATH=C:\Python27_epd32;C:\Python27_epd32\Scripts;%PATH%(убедитесь, что эти пути применимы к вашей системе)

введите описание изображения здесь

Команда, которую вы будете выполнять для установки вашей PYTHONPATHпеременной: setx PYTHONPATH=C:\Python27_epd32\lib\site-packages;C:\ArcGIS\Desktop10.1\bin;C:\ArcGIS\Desktop10.1\arcpy;C:\ArcGIS\Desktop10.1\ArcToolbox\Scripts;%PYTHONPATH%(убедитесь, что эти пути применимы к вашей системе)

ПРИМЕЧАНИЕ. Убедитесь, что вы добавили « %PATH%» и « %PYTHONPATH%» в конце соответствующих команд. Если вы этого не сделаете, вы будете перезаписывать эти переменные только новыми путями, и вы потеряете текущее содержимое.

Джейсон
источник
Спасибо Джейсон! Тем не менее, мне нужно немного подробнее о том, как это сделать - как я могу редактировать пользовательские переменные?
SharonB
В командной строке DOS вы захотите использовать команду SETX (2-й ответ на stackoverflow.com/questions/8358265/… ) для постоянного добавления путей к переменным PATH и PYTHONPATH. Вы также можете сделать это с помощью некоторых инструментов администрирования, если я правильно помню, но у меня нет разрешения на их использование на рабочем компьютере, поэтому я обычно использую окно DOS.
Джейсон
Еще раз спасибо ... как начинающий Python-er, который работает в основном в IDLE (никогда не трогал командную строку DOS), я не знаю о / как добавить новые переменные окружения PATH и PYTHONPATH. Возможно скриншоты и / или возможность сделать это через графический интерфейс (не DOS)?
SharonB
Вау. Спасибо. Это впечатляет. Очень признателен, я дам вам знать, как это происходит.
SharonB
Хе-хе, это простой процесс, но выглядит сложным из-за всех путей! Я надеюсь, что вся ваша работа объединится!
Джейсон