Это действие предоставляет следующие функции для пользователей GitHub Actions:
См. action.yml.
Питон
steps :
- uses : actions/checkout@v4
- uses : actions/setup-python@v5
with :
python-version : ' 3.13 '
- run : python my_script.py
PyPy
steps :
- uses : actions/checkout@v4
- uses : actions/setup-python@v5
with :
python-version : ' pypy3.10 '
- run : python my_script.py
ГраальПи
steps :
- uses : actions/checkout@v4
- uses : actions/setup-python@v5
with :
python-version : ' graalpy-24.0 '
- run : python my_script.py
Ввод python-version
не является обязательным. Если он не указан, действие попытается определить версию из файла .python-version
по умолчанию. Если файл .python-version
не существует, будет использоваться версия Python или PyPy из PATH. Версия Python или PyPy по умолчанию в PATH различается в зависимости от бегуна и может быть изменена неожиданно, поэтому мы рекомендуем всегда явно устанавливать версию Python, используя входные данные python-version
или python-version-file
.
Действие сначала проверит локальный кэш инструмента на наличие совпадений семвера. Если не удается найти конкретную версию в кеше инструмента, действие попытается загрузить версию Python из выпусков GitHub, а версию PyPy — из официального дистрибутива PyPy.
Для получения информации о локально кэшированных версиях Python или PyPy в средах выполнения, размещенных на GitHub, ознакомьтесь с изображениями средств запуска действий GitHub.
Ввод python-version
поддерживает спецификацию семантического управления версиями и некоторые специальные обозначения версий (например, semver ranges
, xy-dev syntax
и т. д.), подробные примеры см. в разделе «Использование ввода версии Python» Расширенного руководства по использованию.
Используя входные данные architecture
, можно указать требуемую архитектуру интерпретатора Python или PyPy: x86
, x64
или arm64
. Если входные данные не указаны, по умолчанию используется архитектура хостовой ОС.
Действие имеет встроенный функционал для кэширования и восстановления зависимостей. Он использует набор инструментов/кэш для кэширования зависимостей, но требует меньше настроек конфигурации. Поддерживаемые менеджеры пакетов: pip
, pipenv
и poetry
. Ввод cache
не является обязательным, и кэширование отключено по умолчанию.
По умолчанию это действие ищет файл зависимостей ( requirements.txt
или pyproject.toml
для pip, Pipfile.lock
для Pipenv или poetry.lock
для поэзии) в репозитории и использует его хеш как часть ключа кэша. Входной cache-dependency-path
используется в случаях, когда используется несколько файлов зависимостей, они расположены в разных подкаталогах или разных файлах для хеша, который нужно использовать.
pip
действие будет кэшировать каталог глобального кэша.pipenv
действие будет кэшировать каталог virtualenv.poetry
действие будет кэшировать каталоги virtualenv — по одному для каждого найденного поэтического проекта.Кэширование зависимостей pip:
steps :
- uses : actions/checkout@v4
- uses : actions/setup-python@v5
with :
python-version : ' 3.13 '
cache : ' pip ' # caching pip dependencies
- run : pip install -r requirements.txt
Примечание. Восстановленный кеш не будет использоваться, если файл require.txt не обновляется в течение длительного времени и доступна более новая версия зависимости, что может привести к увеличению общего времени сборки.
Формат файла требований позволяет указывать версии зависимостей с помощью логических операторов (например, chardet>=3.0.4) или указывать зависимости без каких-либо версий. В этом случае команда pip install -r require.txt всегда будет пытаться установить последнюю доступную версию пакета. Чтобы быть уверенным, что кеш будет использоваться, придерживайтесь определенной версии зависимости и при необходимости обновите ее вручную.
См. примеры использования cache
и cache-dependency-path
для pipenv
и poetry
в разделе «Кэширование пакетов» Расширенного руководства по использованию.
setup-python
с автономным бегуномsetup-python
в GHESСценарии и документация в этом проекте выпущены под лицензией MIT.
Вклады приветствуются! См. наше Руководство для участников.