Esta acción proporciona la siguiente funcionalidad para los usuarios de GitHub Actions:
Ver acción.yml
Pitón
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
La entrada python-version
es opcional. Si no se proporciona, la acción intentará resolver la versión desde el archivo predeterminado .python-version
. Si el archivo .python-version
no existe, se utilizará la versión Python o PyPy de PATH. La versión predeterminada de Python o PyPy en PATH varía entre los corredores y se puede cambiar inesperadamente, por lo que recomendamos configurar siempre la versión de Python explícitamente usando las entradas python-version
o python-version-file
.
La acción primero verificará la caché de la herramienta local para detectar una coincidencia de semver. Si no se puede encontrar una versión específica en el caché de la herramienta, la acción intentará descargar una versión de Python desde GitHub Releases y para PyPy desde la distribución oficial de PyPy.
Para obtener información sobre las versiones almacenadas en caché local de Python o PyPy en ejecutores alojados en GitHub, consulte Imágenes de GitHub Actions Runner.
La entrada python-version
admite la especificación de versiones semánticas y algunas notaciones de versión especiales (por ejemplo, semver ranges
, xy-dev syntax
, etc.). Para obtener ejemplos detallados, consulte la sección: Uso de la entrada de la versión de Python de la guía de uso avanzado.
Utilizando la entrada architecture
, es posible especificar la arquitectura del intérprete Python o PyPy requerida: x86
, x64
o arm64
. Si no se especifica la entrada, la arquitectura predeterminada es la arquitectura del sistema operativo host.
La acción tiene una funcionalidad incorporada para almacenar en caché y restaurar dependencias. Utiliza un kit de herramientas/caché interno para almacenar en caché las dependencias, pero requiere menos ajustes de configuración. Los administradores de paquetes soportados son pip
, pipenv
y poetry
. La entrada cache
es opcional y el almacenamiento en caché está desactivado de forma predeterminada.
De forma predeterminada, la acción busca un archivo de dependencia ( requirements.txt
o pyproject.toml
para pip, Pipfile.lock
para pipenv o poetry.lock
para poesía) en el repositorio y utiliza su hash como parte de la clave de caché. cache-dependency-path
de entrada se usa en los casos en que se usan múltiples archivos de dependencia, están ubicados en diferentes subdirectorios o diferentes archivos para el hash que se desea usar.
pip
, la acción almacenará en caché el directorio de caché globalpipenv
, la acción almacenará en caché el directorio virtualenvpoetry
, la acción almacenará en caché los directorios virtualenv, uno para cada proyecto de poesía encontrado.Dependencias de pip de almacenamiento en caché:
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: La caché restaurada no se utilizará si el archivo requisitos.txt no se actualiza durante un período prolongado y hay disponible una versión más reciente de la dependencia, lo que puede provocar un aumento en el tiempo total de compilación.
El formato de archivo de requisitos permite especificar versiones de dependencia utilizando operadores lógicos (por ejemplo, chardet>=3.0.4) o especificar dependencias sin ninguna versión. En este caso, el comando pip install -r requisitos.txt siempre intentará instalar la última versión del paquete disponible. Para asegurarse de que se utilizará el caché, mantenga una versión de dependencia específica y actualícela manualmente si es necesario.
Vea ejemplos de uso cache
y cache-dependency-path
para pipenv
y poetry
en la sección: Paquetes de almacenamiento en caché de la guía de uso avanzado.
setup-python
con un corredor autohospedadosetup-python
en GHESLos scripts y la documentación de este proyecto se publican bajo la licencia MIT.
¡Las contribuciones son bienvenidas! Consulte nuestra Guía del colaborador.