Diese Aktion bietet GitHub Actions-Benutzern die folgende Funktionalität:
Siehe 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
Die Eingabe python-version
ist optional. Wenn nicht angegeben, versucht die Aktion, die Version aus der Standarddatei .python-version
aufzulösen. Wenn die .python-version
Datei nicht vorhanden ist, wird die Python- oder PyPy-Version aus dem PATH verwendet. Die Standardversion von Python oder PyPy in PATH variiert zwischen den Läufern und kann unerwartet geändert werden. Wir empfehlen daher, die Python-Version immer explizit mithilfe der Eingaben python-version
oder python-version-file
festzulegen.
Die Aktion überprüft zunächst den lokalen Tool-Cache auf eine Semver-Übereinstimmung. Wenn im Tool-Cache keine bestimmte Version gefunden werden kann, versucht die Aktion, eine Version von Python von GitHub Releases und für PyPy von der offiziellen PyPy-Distribution herunterzuladen.
Informationen zu lokal zwischengespeicherten Versionen von Python oder PyPy auf von GitHub gehosteten Runnern finden Sie unter GitHub Actions Runner Images.
Die python-version
Eingabe unterstützt die Semantic Versioning Specification und einige spezielle Versionsnotationen (z. B. semver ranges
, xy-dev syntax
usw.). Ausführliche Beispiele finden Sie im Abschnitt „Python-Versions-Eingabe verwenden“ des Advanced Usage Guide.
Mithilfe der architecture
ist es möglich, die erforderliche Python- oder PyPy-Interpreter-Architektur anzugeben: x86
, x64
oder arm64
. Wenn die Eingabe nicht angegeben ist, wird als Architektur standardmäßig die Architektur des Host-Betriebssystems verwendet.
Die Aktion verfügt über integrierte Funktionen zum Zwischenspeichern und Wiederherstellen von Abhängigkeiten. Es verwendet Toolkit/Cache unter der Haube zum Zwischenspeichern von Abhängigkeiten, erfordert jedoch weniger Konfigurationseinstellungen. Unterstützte Paketmanager sind pip
, pipenv
und poetry
. Die cache
Eingabe ist optional und das Caching ist standardmäßig deaktiviert.
Die Aktion sucht standardmäßig nach einer Abhängigkeitsdatei ( requirements.txt
oder pyproject.toml
für pip, Pipfile.lock
für Pipenv oder poetry.lock
für Poetry) im Repository und verwendet deren Hash als Teil des Cache-Schlüssels. Der Eingabe cache-dependency-path
wird in Fällen verwendet, in denen mehrere Abhängigkeitsdateien verwendet werden, diese sich in verschiedenen Unterverzeichnissen oder in verschiedenen Dateien für den Hash befinden, der verwendet werden soll.
pip
speichert die Aktion das globale Cache-Verzeichnis zwischenpipenv
speichert die Aktion das Verzeichnis „virtualenv“ zwischenpoetry
speichert die Aktion Virtualenv-Verzeichnisse zwischen – eines für jedes gefundene „poetry“-ProjektPip-Abhängigkeiten zwischenspeichern:
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
Hinweis: Der wiederhergestellte Cache wird nicht verwendet, wenn die Datei „requirements.txt“ längere Zeit nicht aktualisiert wird und eine neuere Version der Abhängigkeit verfügbar ist, was zu einer Verlängerung der gesamten Buildzeit führen kann.
Das Anforderungsdateiformat ermöglicht die Angabe von Abhängigkeitsversionen mithilfe logischer Operatoren (z. B. chardet>=3.0.4) oder die Angabe von Abhängigkeiten ohne Versionen. In diesem Fall versucht der Befehl pip install -r require.txt immer, die neueste verfügbare Paketversion zu installieren. Um sicherzustellen, dass der Cache verwendet wird, halten Sie sich bitte an eine bestimmte Abhängigkeitsversion und aktualisieren Sie diese bei Bedarf manuell.
Beispiele für die Verwendung von cache
und cache-dependency-path
für pipenv
und poetry
finden Sie im Abschnitt „Pakete zwischenspeichern“ des erweiterten Nutzungshandbuchs.
setup-python
mit einem selbst gehosteten Läufersetup-python
auf GHESDie Skripte und Dokumentation in diesem Projekt werden unter der MIT-Lizenz veröffentlicht.
Beiträge sind willkommen! Sehen Sie sich unseren Leitfaden für Mitwirkende an.