Esta ação fornece a seguinte funcionalidade para usuários do GitHub Actions:
Veja action.yml
Pitão
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
GraalPy
steps :
- uses : actions/checkout@v4
- uses : actions/setup-python@v5
with :
python-version : ' graalpy-24.0 '
- run : python my_script.py
A entrada python-version
é opcional. Se não for fornecido, a ação tentará resolver a versão do arquivo .python-version
padrão. Se o arquivo .python-version
não existir, a versão Python ou PyPy do PATH será usada. A versão padrão do Python ou PyPy no PATH varia entre os executores e pode ser alterada inesperadamente, portanto, recomendamos sempre definir a versão do Python explicitamente usando as entradas python-version
ou python-version-file
.
A ação primeiro verificará o cache da ferramenta local em busca de uma correspondência semver. Se não for possível encontrar uma versão específica no cache da ferramenta, a ação tentará baixar uma versão do Python nos lançamentos do GitHub e para o PyPy no dist oficial do PyPy.
Para obter informações sobre versões armazenadas em cache local de Python ou PyPy em executores hospedados no GitHub, consulte GitHub Actions Runner Images.
A entrada python-version
suporta a especificação de versionamento semântico e algumas notações de versão especiais (por exemplo, semver ranges
, xy-dev syntax
, etc.). Para exemplos detalhados, consulte a seção: Usando a entrada python-version do Guia de uso avançado.
Usando a entrada architecture
, é possível especificar a arquitetura necessária do interpretador Python ou PyPy: x86
, x64
ou arm64
. Se a entrada não for especificada, a arquitetura será padronizada para a arquitetura do sistema operacional host.
A ação possui funcionalidade integrada para armazenar em cache e restaurar dependências. Ele usa kit de ferramentas/cache nos bastidores para armazenar dependências em cache, mas requer menos definições de configuração. Os gerenciadores de pacotes suportados são pip
, pipenv
e poetry
. A entrada cache
é opcional e o cache está desativado por padrão.
O padrão da ação é procurar um arquivo de dependência ( requirements.txt
ou pyproject.toml
para pip, Pipfile.lock
para pipenv ou poetry.lock
para poesia) no repositório e usa seu hash como parte da chave de cache. A entrada cache-dependency-path
é usada para casos em que vários arquivos de dependência são usados, eles estão localizados em subdiretórios diferentes ou arquivos diferentes para o hash que deseja ser usado.
pip
, a ação irá armazenar em cache o diretório de cache globalpipenv
, a ação irá armazenar em cache o diretório virtualenvpoetry
, a ação armazenará em cache os diretórios virtualenv - um para cada projeto de poesia encontradoArmazenando dependências de pip em cache:
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
Nota: O cache restaurado não será usado se o arquivo requisitos.txt não for atualizado por um longo período e uma versão mais recente da dependência estiver disponível, o que pode levar a um aumento no tempo total de construção.
O formato do arquivo de requisitos permite especificar versões de dependências usando operadores lógicos (por exemplo chardet>=3.0.4) ou especificar dependências sem quaisquer versões. Neste caso, o comando pip install -r requisitos.txt sempre tentará instalar a versão mais recente do pacote disponível. Para ter certeza de que o cache será usado, siga uma versão de dependência específica e atualize-a manualmente, se necessário.
Veja exemplos de uso cache
e cache-dependency-path
para pipenv
e poetry
na seção: Caching packages do Guia de uso avançado.
setup-python
com um executor auto-hospedadosetup-python
no GHESOs scripts e documentação deste projeto são lançados sob a licença MIT.
Contribuições são bem-vindas! Consulte nosso Guia do Colaborador.