ArcGIS Pro дает доступ к большой коллекции пакетов Python. В целях поддержки пакетов Python ArcGIS Pro содержит систему управления пакетами под названием conda. ArcGIS Pro интегрирует conda со страницей Менеджер пакетов. С conda можно, кроме того, работать через командную строку.
Чтобы еще больше расширить многообразие и применение пакетов Python, различные среды Python теперь могут вместе существовать на одной рабочей станции независимо друг от друга. В каждой среде Python есть свой набор пакетов, что позволяет легко переключаться между различными наборами функций Python без необходимости каждый раз удалять и устанавливать пакеты заново.
По умолчанию в ArcGIS Pro есть одна среда conda, arcgispro-py3, которая включает все библиотеки Python, используемые ArcGIS Pro, а также несколько других, например, scipy и pandas.
- Клонировать среду
- Активировать среду
- Добавить среду
- Удалить среду
- Обновить среду
- Восстановить среду
- Добавить или удалить пакет
- Обновить пакет
Внимание:
Для ArcGIS Pro изменение среды Python по умолчанию (arcgispro-py3) не рекомендуется и может привести к непредсказуемым последствиям. Рекомендуется изменять только клонированную среду.
Лицензия:
Пользователи, устанавливающие пакеты с использованием канала -c esri для использования в таких продуктах Esri, как ArcGIS Pro или ArcGIS Enterprise, а также развертывающие приложения в среде Esri, подпадают под действие всех текущих лицензий. Если вы развертываете приложения во внешних средах или зеркалируете репозитории или компоненты Anaconda, вам потребуется дополнительная лицензия Anaconda для работы с базовыми пакетами Anaconda. Подробнее см. Лицензионное соглашение Esri с Anaconda.
Работа с conda через командную строку
В командной строке можно работать с функционалом conda посредством команды conda. Активная среда Python отображается в строке в скобках перед текущей директорией. Воспользуйтесь ярлыком Командной строки Python, чтобы открыть окно командной строки с активной для ArcGIS Pro средой conda.
Ниже показаны примеры команд conda:
Перечислите пакеты активной среды.
conda list
Перечисляет все среды conda.
conda env list
Клонирует среду arcgispro-py3 по умолчанию, создавая новую среду my_env.
conda create --clone arcgispro-py3 --name my_env --pinned
Для получения справки по команде введите --help либо флаг -h после команды conda.
Флаг --pinned, введенный Esri, переносит закрепленный файл из исходной среды в клонированную среду. Используйте этот флаг, чтобы обеспечить сохранение целостности клонированной среды при обновлении или установке пакетов.
Чтобы активировать среду для своей текущей сессии командной строки, воспользуйтесь командой activate.
activate my_env
Дополнительные сведения об использовании и работе с conda см. в разделе Введение в conda.
ArcGIS Pro также поддерживает дополнительные команды, введенные в Esri, например, proswap и propy.
Чтобы активировать среду для своей текущей сессии командной строки и сделать среду новой средой по умолчанию для будущих сессий ArcGIS Pro и сессий командной строки, воспользуйтесь командой proswap.
proswap my_env
Можно открыть сессию Python в активной среде с помощью команды propy и запускать скрипты Python в следующем формате:
propy yourscript.py
Среда ArcGIS Pro включает conda как автономный исполняемый файл, а не типичный полный дистрибутив Python, что делает установку ArcGIS Pro меньше и быстрее. Каждый раз, когда вы запускаете команду на основе conda, такую как proswap, исполняемый файл conda будет извлекать файлы, необходимые для загрузки статической сборки Python, во временный каталог, обозначенный %TMPDIR%, %TEMP% или %TMP% в переменных системной среды. После выполнения команды временные файлы будут удалены.
Сетевой доступ для создания сред и установки пакетов
Для создания сред conda и установки пакетов требуется подключение к интернету. Если вы хотите клонировать среду за брандмауэром, в настройках брандмауэра может потребоваться включить в белый список следующие сайты:
- https://conda.anaconda.org
- https://repo.anaconda.com
pip
Как conda, pip - это система управления пакетами. pip - это инструмент командной строки для установки пакетов Python из Python Package Index (PyPI), является частью стандартной поставки Python.
Несмотря на пересечение функциональности pip и conda в некоторых аспектах, это фундаментально разные системы. Несмотря на то, что conda и pip обслуживают разные задачи, они могут быть совместно использованы.
Conda устанавливает различные пакеты, написанные на различных языках, в бинарном виде. pip является частью стандартной поставки Python и устанавливает только пакеты Python. При установке через pip могут возникнуть требования наличия дополнительного компилятора или библиотек, чтобы установка была успешной.
pip позволяет устанавливать сотни из тысяч пакетов из PyPi, conda обладает меньшим набором, но он содержит наиболее популярные пакеты.
Подсказка:
При совместном использовании conda и pip устанавливайте conda до установки pip пакетов. Если пакет доступен в обоих системах, используйте conda для установки пакета.
Для установки пакета при помощи pip используйте команду pip install.