Менеджер пакетов
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.
Внимание:
Изменение стандартной среды Python (arcgispro-py3) в ArcGIS Pro не рекомендуется и может привести к непредвиденным последствиям. Рекомендуется изменять только клонированную среду.
Лицензия:
Пользователи, устанавливающие пакеты через канал -c esri для использования в продуктах Esri, таких как ArcGIS Pro или ArcGIS Enterprise, а также развёртывающие приложения для использования в средах Esri, подпадают под действие всех действующих условий лицензирования. Если вы развертываете приложения во внешних средах или зеркалируете репозитории или компоненты Anaconda, вам потребуется дополнительная лицензия Anaconda для работы с базовыми пакетами Anaconda. Подробнее см. Лицензионное соглашение Esri с Anaconda.
Примечание:
Антивирусные программы могут снижать производительность conda.
Работа с 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
Флаг --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.orghttps://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.