GitHub Actions Python-Cache-Beispiel

14541002696_1cc1d3c206.jpg

actions/cache

Hinweise zur Verwendung des Pip-Cache mit GitHub-Aktionen

Pip-Cache

Das Verzeichnis für jedes Betriebssystem lautet wie folgt (Ich habe es nicht ausprobiert, aber im Fall von Ubuntu kann es durch Angabe der Umgebungsvariablen "XDG_CACHE_HOME" an einen beliebigen Pfad zwischengespeichert werden.)

# Unix
~/.cache/pip

# macOS
~/Library/Caches/pip

# Windows
<CSIDL_LOCAL_APPDATA>\pip\Cache

wie benutzt man

Erstellen Sie einen Cache (vorausgesetzt, Ubuntu wird verwendet)

- uses: actions/cache@v1
  with:
    path: ~/.cache/pip
    key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }}
    restore-keys: |
      ${{ runner.os }}-pip-

Aus dem Cache wiederherstellen

- name: Get pip cache
   id: pip-cache
   run: |
     python -c "from pip._internal.locations import USER_CACHE_DIR; print('::set-output name=dir::' + USER_CACHE_DIR)"

- uses: actions/cache@v1
  with:
    path: ${{ steps.pip-cache.outputs.dir }}
    key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }}
    restore-keys: |
      ${{ runner.os }}-pip-

Übrigens haben auch andere Sprachen Beispiele geschrieben, damit die Formeln leicht zu verstehen sind und daher sehr einfach einzuführen sind.

cache/examples.md

Wenn Sie den Pip-Cache nicht verwenden möchten, auch wenn das Paket in der Datei "resources.txt" beschrieben ist, müssen Sie es separat mit "--no-cache-dir" installieren.

$ pip --no-cache-dir install [Paketnamen]

Definieren Sie, was Sie tun möchten, wenn Sie keinen Cache-Treffer erzielen

Skipping steps based on cache-hit

Das Vorhandensein oder Fehlen eines Cache-Treffers wird von einem Bool-Wert namens Cache-Treffer gehalten. Wenn es keinen Treffer gibt, können Sie den Ablauf der Bereitstellung oder Fortsetzung der nachfolgenden Verarbeitung problemlos implementieren.

Referenzmaterial

pip installCache-Abhängigkeiten zur Beschleunigung des Workflows -Workflows) ■ Ich bin froh, den Cache mit GitHub Actions verwenden zu können!

Recommended Posts

GitHub Actions Python-Cache-Beispiel
Python-Abschlussbeispiel
Ajax + Python + PostgreSQL-Beispiel
Python - Einfaches Multithread-Beispiel
Mit Python erstellte Beispieldaten
Verwenden Sie den HTTP-Cache in Python
Pipenv mit GitHub-Aktionen getestet
Beispiel für Funktionen höherer Ordnung (Dekoratoren) in Python
Beispiel für die Verwendung von Python Pickle
[Python] Beispielcode für die Python-Grammatik
AtCoder: Python: Papa der Beispieltest.
[Python] Testbeispiel mit unittest2, mock
Boto3 (Python) API-Beispiel, das ich oft benutze
GitHub x Python-Entwicklungsvorbereitungsnotiz
Beispielcode-Zusammenfassung für die parallele / parallele Python-Verarbeitung
NAOqi Python-Beispiel (Walk NAO)