การดำเนินการนี้มีฟังก์ชันการทำงานต่อไปนี้สำหรับผู้ใช้ GitHub Actions:
ดูที่ action.yml
หลาม
steps :
- uses : actions/checkout@v4
- uses : actions/setup-python@v5
with :
python-version : ' 3.13 '
- run : python my_script.py
ปิ๊ปปี้
steps :
- uses : actions/checkout@v4
- uses : actions/setup-python@v5
with :
python-version : ' pypy3.10 '
- run : python my_script.py
กราลพี
steps :
- uses : actions/checkout@v4
- uses : actions/setup-python@v5
with :
python-version : ' graalpy-24.0 '
- run : python my_script.py
อินพุต python-version
เป็นทางเลือก หากไม่ได้ระบุไว้ การดำเนินการจะพยายามแก้ไขเวอร์ชันจากไฟล์ .python-version
เริ่มต้น หากไม่มีไฟล์ .python-version
อยู่ Python หรือเวอร์ชัน PyPy จาก PATH จะถูกนำมาใช้ เวอร์ชันเริ่มต้นของ Python หรือ PyPy ใน PATH จะแตกต่างกันไปตามนักวิ่งและสามารถเปลี่ยนแปลงได้โดยไม่คาดคิด ดังนั้นเราขอแนะนำให้ตั้งค่าเวอร์ชัน Python อย่างชัดเจนเสมอโดยใช้อินพุต python-version
หรือ python-version-file
การดำเนินการจะตรวจสอบแคชเครื่องมือในเครื่องก่อนเพื่อดูการจับคู่ Semver หากไม่พบเวอร์ชันเฉพาะในแคชเครื่องมือ การดำเนินการจะพยายามดาวน์โหลดเวอร์ชันของ Python จาก GitHub Releases และสำหรับ PyPy จาก dist ของ PyPy อย่างเป็นทางการ
สำหรับข้อมูลเกี่ยวกับ Python หรือ PyPy เวอร์ชันแคชในเครื่องบนนักวิ่งที่โฮสต์ GitHub โปรดดูที่รูปภาพนักวิ่ง GitHub Actions
อินพุต python-version
รองรับข้อกำหนดการกำหนดเวอร์ชันแบบ Semantic และสัญลักษณ์เวอร์ชันพิเศษบางอย่าง (เช่น semver ranges
xy-dev syntax
ฯลฯ) สำหรับตัวอย่างโดยละเอียด โปรดดูที่ส่วน: การใช้อินพุตเวอร์ชัน python ของคู่มือการใช้งานขั้นสูง
การใช้อินพุต architecture
ทำให้สามารถระบุสถาปัตยกรรมล่าม Python หรือ PyPy ที่ต้องการได้: x86
, x64
หรือ arm64
หากไม่ได้ระบุอินพุต สถาปัตยกรรมจะมีค่าเริ่มต้นเป็นสถาปัตยกรรมระบบปฏิบัติการโฮสต์
การดำเนินการนี้มีฟังก์ชันการทำงานในตัวสำหรับการแคชและการกู้คืนการขึ้นต่อกัน ใช้ชุดเครื่องมือ/แคชภายใต้ประทุนสำหรับการพึ่งพาแคช แต่ต้องการการตั้งค่าการกำหนดค่าน้อยกว่า ผู้จัดการแพ็คเกจที่รองรับคือ pip
, pipenv
และ poetry
อินพุต cache
เป็นทางเลือก และการแคชจะถูกปิดตามค่าเริ่มต้น
การดำเนินการมีค่าเริ่มต้นเป็นการค้นหาไฟล์อ้างอิง ( requirements.txt
หรือ pyproject.toml
สำหรับ pip, Pipfile.lock
สำหรับ pipenv หรือ poetry.lock
สำหรับบทกวี) ในพื้นที่เก็บข้อมูล และใช้แฮชเป็นส่วนหนึ่งของคีย์แคช Input cache-dependency-path
ใช้สำหรับกรณีที่มีการใช้ไฟล์อ้างอิงหลายไฟล์ โดยไฟล์เหล่านั้นอยู่ในไดเร็กทอรีย่อยที่แตกต่างกันหรือไฟล์ที่แตกต่างกันสำหรับแฮชที่ต้องการใช้
pip
การดำเนินการจะแคชไดเร็กทอรีแคชส่วนกลางpipenv
การดำเนินการจะแคชไดเร็กทอรี virtualenvpoetry
การดำเนินการจะแคชไดเรกทอรี virtualenv - หนึ่งรายการสำหรับแต่ละโครงการบทกวีที่พบการพึ่งพา 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
หมายเหตุ: แคชที่กู้คืนจะไม่ถูกใช้หากไฟล์ Requirements.txt ไม่ได้รับการอัปเดตเป็นเวลานานและมีเวอร์ชันที่ใหม่กว่าของการขึ้นต่อกันซึ่งอาจทำให้เวลาในการสร้างทั้งหมดเพิ่มขึ้น
รูปแบบไฟล์ข้อกำหนดอนุญาตให้ระบุเวอร์ชันการขึ้นต่อกันโดยใช้ตัวดำเนินการเชิงตรรกะ (เช่น chardet>=3.0.4) หรือระบุการขึ้นต่อกันโดยไม่มีเวอร์ชันใด ๆ ในกรณีนี้คำสั่ง pip install -r needs.txt จะพยายามติดตั้งแพ็คเกจเวอร์ชันล่าสุดที่มีอยู่เสมอ เพื่อให้แน่ใจว่าแคชจะถูกใช้ โปรดใช้เวอร์ชันอ้างอิงเฉพาะและอัปเดตด้วยตนเองหากจำเป็น
ดูตัวอย่างการใช้ cache
และ cache-dependency-path
สำหรับ pipenv
และ poetry
ในส่วน: แพ็คเกจการแคชของคู่มือการใช้งานขั้นสูง
setup-python
กับนักวิ่งที่โฮสต์เองsetup-python
บน GHESสคริปต์และเอกสารประกอบในโครงการนี้เผยแพร่ภายใต้ใบอนุญาต MIT
ยินดีบริจาค! ดูคู่มือผู้ร่วมให้ข้อมูลของเรา