В ArcGIS Pro входит Python на основе conda в конфигурации по умолчанию, только для чтения. Этот Python используется в ArcGIS Pro и является тем самым Python, который вы используете для запуска автономных скриптов.
Эта среда conda по умолчанию, arcgispro-py3, использует все библиотеки Python, применяемые ArcGIS Pro, а также несколько других, например scipy и pandas. Существуют несколько ярлыков для быстрого доступа к этой среде, включая ярлык Командная строка Python, который открывает командную строку, инициализируемую средой arcgispro-py3.
Для получения подробной информации о Python в приложении ArcGIS Pro см. Python Package Manager.
Вопросы и ответы
Примечание:
Во всех вопросах данного раздела подразумевается, что ArcGIS Pro установлен в c:\Program Files\ArcGIS. Для установки для конкретного пользователя или установки в другое местоположение обновите путь.
Как мне запустить автономный скрипт?
В других продуктах ArcGIS скрипт Python запускается из командной строки:
c:\python27\ArcGIS10.7\python.exe my_script.py
В ArcGIS Pro вы можете запустить тот же скрипт, используя следующий обновленный путь:
c:\Progra~1\ArcGIS\Pro\bin\Python\scripts\propy.bat my_script.py
Здесь propy.bat используется в качестве замены при вызове python.exe.
Нужно ли мне активировать среду conda для запуска автономного скрипта?
Нет. Вы можете воспользоваться файлом python.exe в папке c:\Program Files\ArcGIS\Pro\bin\Python\envs\arcgispro-py3 для запуска своих скриптов. Вы также можете вызвать c:\Progra~1\ArcGIS\Pro\bin\Python\scripts\propy.bat, как было упомянуто ранее.
Зачем мне использовать propy.bat?
При работе с проектом ArcGIS Pro вы можете создавать и использовать новую среду conda с определенными наборами и версиями библиотек Python. Например, при запуске автономных скриптов, если вы запускаете c:\Progra~1\ArcGIS\Pro\bin\Python\envs\arcgispro-py3\python.exe (среда conda по умолчанию для ArcGIS Pro), у вас не обязательно будет тот же набор пакетов, который вы используете в приложении ArcGIS Pro. Вот почему вы используете propy.bat: он определяет активную среду conda приложения и активирует ее в вашем автономном скрипте.
Какая разница между propy.bat и proenv.bat?
Эти различия перечислены ниже:
- propy.bat – это замена для python.exe. Он активирует среду conda в ArcGIS Pro arcgispro-py3 и запускает Python. Вы можете вызвать propy.bat с помощью или без помощи файла Python в качестве аргумента.
- Имея скрипт в качестве аргумента, propy.bat выполняет следующее:
- Активирует среду conda для ArcGIS Pro
- Запускает Python
- Запускает указанный скрипт
- Выходит из Python и среды
- Если вы можете вызвать propy.bat без аргумента, среда conda будет активирована, а Python будет запущен в режиме интерактивного окна (REPL).
- Имея скрипт в качестве аргумента, propy.bat выполняет следующее:
- proenv.bat – активирует среду ArcGIS Pro и открывает окно командной строки Windows. Здесь вы можете вызвать arcgispro-py3\python.exe, набрав Python для запуска интерактивного сеанса, или набрав python после имени скрипта, который вы хотите запустить.
Требуются ли права администратора для установки пакетов conda?
Нет. В ArcGIS Pro 2.2 среда arcgispro-py3 по умолчанию не может изменяться с помощью Менеджера пакетов ArcGIS Pro даже при запуске ArcGIS Pro с правами администратора. Чтобы установить пакеты conda, вы можете создать среду с помощью Менеджера пакетов ArcGIS Pro или утилит командной строки conda.
Примечание:
Среду arcgispro-py3 по умолчанию можно изменить с помощью утилит командной строки conda, однако обычно это не рекомендуется. Для изменения среды arcgispro-py3 на каждой машине установки ArcGIS Pro требуются права администратора.
Когда я запускаю окно командной строки Python, почему я получаю ошибку Доступ запрещен?
Вы не можете использовать команды conda для изменения сред или пакетов conda. Однако это не влияет на ваше использование Python (включая proenv.bat и propy.bat). Обратитесь к предыдущим вопросам, относящимся к административным правам доступа.