Як отримати доступ до модулів Esri ArcPy з Enthought Canopy?


10

У мене в системі Windows працює ArcGIS 10.1, а також я встановив новий 32-розрядний Canopy Express Enthought Python Distribution.

Чи можливо завантажувати та використовувати модулі Esri ArcPy від Canopy?


Я використовував рішення першої відповіді і працював ідеально, але мені потрібен навіс x64, чи є можливість імпортувати цю лібку на балдахін x64?
Μανώλης Παναγιωτάκης

Відповіді:


20

Є простий спосіб, який не передбачає возитися з вашою системою PATH або PYTHONPATH.

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

Щоб отримати доступ до модулів python ArcGIS 10.1 з Enthought Canopy : Створіть у каталозі користувачів Canopy файл "шлях", який вказує на модулі python ArcGIS 10.1. У моїй системі я створив текстовий файл, названий arcpy.pthцими 4 рядками:

# .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 : Створіть файл "шлях" у папці пакетів веб-сайтів Arc, який вказує на модулі python Canopy. У моїй системі я створив текстовий файл, названий epd.pthцими 3 рядками:

# .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. Ура! Іппі!


3
Кілька приміток: 1. Переконайтеся, що ви встановили EPD / Canopy x32 для використання з ArCGIS Desktop. 2. pth-файли завантажуються в алфавітному порядку, тому для уникнення конфліктів я назвав ці файли: "zzArcGIS.pth" (папка сайтів-пакетів Canopy) і "zzEPD.pth" (папка сайтів-пакетів ArcGIS). 3. Якщо ви використовуєте фон GP GP ArcGIS Desktop x64 або ArcGIS сервер (для якого використовується 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. Можливо, скріншоти та / або варіант зробити це через GUI (не DOS)?
SharonB

Вау. Дякую. Це вражає. Дуже вдячний, я дам вам знати, як це йде.
SharonB

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