Запуск ArcGIS 10.0 під Virtualenv


12

Я працюю над пакетом Python, який містить суміш інструментів командного рядка та інструментів ArcToolbox. Для розробки Python дуже корисно використовувати VirtualEnv, особливо при роботі з інсталяторами. Чи є спосіб ArcMap або ArcCatalog розпізнати поточний сеанс VirtualEnv в Python, так що при виконанні користувальницьких інструментів він використовує пути та пакети VirtualEnv Python замість шляхів і пакетів Python за замовчуванням у c: \ Python26 \ ArcGIS10 .0?

Відповіді:


11

Це не вбудовано в додаток, але я припускаю, що запуск пакетного файлу, який встановлює virtualenv під час cmd.exeсеансу, а потім запуск arcmap.exe з того самого поля DOS, повинен отримати вам свою virtualenv. ArcMap і друзі будуть трохи змінити шлях для включення установки - х arcgisscriptingі arcpy.

Редагувати: вам потрібно буде чітко зателефонувати до цього сценарію activate_this із вікна Python у додатках для настільних ПК, щоб це працювало. Якщо у мене є VirtualEnv, c:\Users\jason\myenvя вийду execfile(r'C:\Users\jason\myenv\Scripts\activate_this.py', {'__file__': r'C:\Users\jason\myenv\Scripts\activate_this.py'})з вікна Python у настільному додатку ArcGIS, щоб запустити його.


Це, здається, не працює. Я створив робочу область VirtualEnv, активував її, потім встановив пакет, який я хочу перевірити всередині ArcCatalog. Все йде нормально. Якщо я відкрию оболонку Python всередині цього сеансу VirtualEnv та імпортую щойно встановлені пакети - імпорт працює. Якщо я запускаю ArcCatalog і намагаюся викликати один із цих пакетів із скрипту панелі інструментів - це не працює. Якщо я дивлюся на sys.path з оболонки Python всередині ArcCatalog, він показує каталог Python за замовчуванням для ArcGIS 10.0 (C: \ Python26 \ ArcGIS10.0).
SagebrushGIS

4
Погляньте на використання activate_this.pyсценарію також у той самий каталог сценаріїв вашого VirtualEnv з вікна Python в ArcCatalog та друзів. Мені вдалося виконати execfile(r'C:\Users\jason\myenv\Scripts\activate_this.py', {'__file__': r'C:\Users\jason\myenv\Scripts\activate_this.py'})і отримати завантажений VirtualEnv з ArcMap.
Jason Scheirer

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