Cette action fournit les fonctionnalités suivantes pour les utilisateurs de GitHub Actions :
Voir action.yml
Python
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
L'entrée python-version
est facultative. Si elle n'est pas fournie, l'action tentera de résoudre la version à partir du fichier .python-version
par défaut. Si le fichier .python-version
n'existe pas, la version Python ou PyPy du PATH sera utilisée. La version par défaut de Python ou PyPy dans PATH varie selon les exécuteurs et peut être modifiée de manière inattendue. Nous vous recommandons donc de toujours définir explicitement la version de Python à l'aide des entrées python-version
ou python-version-file
.
L'action vérifiera d'abord le cache de l'outil local pour une correspondance Semver. Si vous ne parvenez pas à trouver une version spécifique dans le cache de l'outil, l'action tentera de télécharger une version de Python à partir des versions GitHub et pour PyPy à partir de la distribution officielle de PyPy.
Pour plus d’informations sur les versions mises en cache localement de Python ou PyPy sur les exécuteurs hébergés par GitHub, consultez GitHub Actions Runner Images.
L'entrée python-version
prend en charge la spécification de gestion des versions sémantiques et certaines notations de version spéciales (par exemple, semver ranges
, xy-dev syntax
, etc.), pour des exemples détaillés, veuillez vous référer à la section : Utilisation de l'entrée python-version du guide d'utilisation avancée.
À l'aide de l'entrée architecture
, il est possible de spécifier l'architecture de l'interpréteur Python ou PyPy requise : x86
, x64
ou arm64
. Si l’entrée n’est pas spécifiée, l’architecture est par défaut celle du système d’exploitation hôte.
L'action dispose d'une fonctionnalité intégrée pour la mise en cache et la restauration des dépendances. Il utilise une boîte à outils/un cache sous le capot pour mettre en cache les dépendances mais nécessite moins de paramètres de configuration. Les gestionnaires de paquets pris en charge sont pip
, pipenv
et poetry
. L'entrée cache
est facultative et la mise en cache est désactivée par défaut.
L'action consiste par défaut à rechercher un fichier de dépendance ( requirements.txt
ou pyproject.toml
pour pip, Pipfile.lock
pour pipenv ou poetry.lock
pour poésie) dans le référentiel et utilise son hachage dans le cadre de la clé de cache. cache-dependency-path
d'entrée est utilisé dans les cas où plusieurs fichiers de dépendance sont utilisés, ils se trouvent dans différents sous-répertoires ou dans différents fichiers pour le hachage à utiliser.
pip
, l'action mettra en cache le répertoire de cache globalpipenv
, l'action mettra en cache le répertoire virtualenvpoetry
, l' action mettra en cache les répertoires virtualenv -- un pour chaque projet de poésie trouvéMise en cache des dépendances 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
Remarque : Le cache restauré ne sera pas utilisé si le fichier Requirements.txt n'est pas mis à jour pendant une longue période et qu'une version plus récente de la dépendance est disponible, ce qui peut entraîner une augmentation du temps total de construction.
Le format de fichier d'exigences permet de spécifier des versions de dépendances à l'aide d'opérateurs logiques (par exemple chardet>=3.0.4) ou de spécifier des dépendances sans aucune version. Dans ce cas, la commande pip install -r Requirements.txt tentera toujours d'installer la dernière version du package disponible. Pour être sûr que le cache sera utilisé, veuillez vous en tenir à une version de dépendance spécifique et la mettre à jour manuellement si nécessaire.
Voir des exemples d'utilisation cache
et cache-dependency-path
pour pipenv
et poetry
dans la section : Mise en cache des packages du guide d'utilisation avancée.
setup-python
avec un exécuteur auto-hébergésetup-python
sur GHESLes scripts et la documentation de ce projet sont publiés sous la licence MIT.
Les contributions sont les bienvenues ! Consultez notre Guide du contributeur.