يوفر هذا الإجراء الوظائف التالية لمستخدمي GitHub Actions:
راجع action.yml
بايثون
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
إدخال python-version
اختياري. إذا لم يتم توفيره، فسيحاول الإجراء تحليل الإصدار من ملف .python-version
الافتراضي. إذا لم يكن ملف .python-version
موجودًا، فسيتم استخدام إصدار Python أو PyPy من PATH. يختلف الإصدار الافتراضي من Python أو PyPy في PATH بين المتسابقين ويمكن تغييره بشكل غير متوقع، لذلك نوصي دائمًا بتعيين إصدار Python بشكل صريح باستخدام مدخلات python-version
أو python-version-file
.
سيقوم الإجراء أولاً بفحص ذاكرة التخزين المؤقت للأداة المحلية بحثًا عن تطابق نصفي. إذا لم تتمكن من العثور على إصدار محدد في ذاكرة التخزين المؤقت للأداة، فسيحاول الإجراء تنزيل إصدار Python من إصدارات GitHub ولـ PyPy من توزيعة PyPy الرسمية.
للحصول على معلومات بخصوص الإصدارات المخزنة محليًا من Python أو PyPy على برامج التشغيل المستضافة على GitHub، راجع GitHub Actions Runner Images.
يدعم إدخال python-version
مواصفات الإصدار الدلالي وبعض تدوينات الإصدار الخاصة (مثل 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
للشعر) في المستودع، ويستخدم التجزئة الخاصة به كجزء من مفتاح ذاكرة التخزين المؤقت. يتم استخدام cache-dependency-path
المؤقت للإدخال في الحالات التي يتم فيها استخدام ملفات تبعية متعددة، وتكون موجودة في أدلة فرعية مختلفة أو ملفات مختلفة للتجزئة التي تريد استخدامها.
pip
، سيقوم الإجراء بتخزين دليل ذاكرة التخزين المؤقت العامpipenv
، سيعمل الإجراء على تخزين دليل virtualenv مؤقتًاpoetry
، سيعمل الإجراء على تخزين مجلدات virtualenv مؤقتًا - واحد لكل مشروع شعري يتم العثور عليهالتخزين المؤقت لتبعيات النقطة:
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
ملاحظة: لن يتم استخدام ذاكرة التخزين المؤقت المستعادة إذا لم يتم تحديث ملف require.txt لفترة طويلة وكان إصدار أحدث من التبعية متاحًا مما قد يؤدي إلى زيادة في إجمالي وقت الإنشاء.
يسمح تنسيق ملف المتطلبات بتحديد إصدارات التبعية باستخدام عوامل التشغيل المنطقية (على سبيل المثال charde>=3.0.4) أو تحديد التبعيات دون أي إصدارات. في هذه الحالة، سيحاول الأمر pip install -r require.txt دائمًا تثبيت أحدث إصدار متاح للحزمة. للتأكد من أنه سيتم استخدام ذاكرة التخزين المؤقت، يرجى الالتزام بإصدار تبعية محدد وتحديثه يدويًا إذا لزم الأمر.
راجع أمثلة لاستخدام cache
cache-dependency-path
لـ pipenv
poetry
في القسم: حزم التخزين المؤقت في دليل الاستخدام المتقدم.
setup-python
مع عداء مستضاف ذاتيًاsetup-python
على GHESيتم إصدار البرامج النصية والوثائق في هذا المشروع بموجب ترخيص MIT.
المساهمات هي موضع ترحيب! راجع دليل المساهمين لدينا.