دعم Python تجريبي في الإصدار 1.6.0.
لا حاجة إلى تثبيت CPython
يشغّل Elide بنفسه Python 3.13 ومكتبته القياسية.
أضف مكوّن Python الاختياري:
elide setup pythonيختار --channel=release أو --channel=nightly القناة؛ ويعيد --force التثبيت. لا يمكن إضافته في التثبيتات عبر
apt و RPM؛ راجع التثبيت. من دون المكوّن، تطبع أوامر Python
Python support is not installed. Run 'elide setup python' to add it. وتخرج بالرمز 2.
تشغيل Python
يقبل elide python الوسائط نفسها التي يقبلها python:
elide python app.py --name Elide --count 2 # sys.argv: ['app.py', '--name', 'Elide', '--count', '2']
elide python -c 'import sys; print(sys.version)'
elide python -m json.tool input.json
echo 'print("from stdin")' | elide python -تُمرَّر الوسائط التي تلي السكربت أو -c CMD أو -m MODULE إلى البرنامج. يبدأ elide python وحده جلسة REPL في
الطرفية، ويقرأ الدخل القياسي في غير ذلك.
تشغّل الأوامر العامة ملفات .py بقيمة sys.argv نفسها:
elide app.py
elide run app.py
elide -l python -s 'print(1 + 1)'خيارات المفسّر
ضعها قبل السكربت أو -c أو -m. يسردها elide --help-all تحت “Python interpreter options”.
| الخيار | الأثر |
|---|---|
-c CMD | تشغيل CMD بوصفه البرنامج؛ تصبح الوسائط اللاحقة sys.argv[1:]. |
-m MODULE | تشغيل وحدة من المكتبة بوصفها __main__. |
-s | عدم إضافة مجلد site الخاص بالمستخدم إلى sys.path. |
-I | الوضع المعزول. |
-E | تجاهل متغيرات البيئة PYTHON*. |
-S | عدم تنفيذ import site عند البدء. |
-P | عدم إضافة مسار قد يكون غير آمن إلى بداية sys.path. |
-B | عدم كتابة ملفات البايت كود. |
-u | خرج قياسي وخرج أخطاء دون تخزين مؤقت. |
-O | مستوى التحسين؛ كرّره للحصول على -OO. |
-b | التحذير عند مقارنات bytes/str؛ كرّره لإطلاق أخطاء. |
-W ARG | التحكم في التحذيرات؛ قابل للتكرار. |
-x | مقبول للتوافق؛ لا أثر له. |
خياران مفعّلان افتراضيًا: -S، لأن Elide يبني sys.path بنفسه ويتخطى site لتسريع البدء، و -B. ويُظهر
sys.flags كليهما. لاستيراد site (ملفات .pth و sitecustomize)، مرّر -X polyglot.python.NoSiteFlag=false؛
ولكتابة البايت كود، مرّر -X polyglot.python.DontWriteBytecodeFlag=false.
المكتبة القياسية
تتضمن المكتبة القياسية json و pathlib و sqlite3 و ssl و zlib و ctypes. ولا تحتاج bz2 و lzma إلى
libbz2 أو liblzma من النظام. لبرامج تشغيل قواعد البيانات التي يتضمنها Elide، راجع
قواعد البيانات.
التشغيل البيني مع JavaScript
مع --interop، يقيّم Python شيفرة JavaScript عبر الوحدة المدمجة elide:
# sum.py
from elide import js
print(js("[1, 2, 3].reduce((a, b) => a + b, 0)"))elide --interop python sum.pyتستورد JavaScript و TypeScript التصدير الافتراضي لوحدة Python:
// main.mjs
import mod from "./mod.py";
console.log(mod.hello());elide --interop run main.mjsمن دون --interop تفشل هذه الاستدعاءات. راجع اللغات والتشغيل البيني.
حزم الطرف الثالث
لا يثبّت Elide حزم PyPI: يتخطى elide install القسم dependencies.pypi، ويخرج
elide install --ecosystems=pypi بالرمز 2. لتحميل الحزم من بيئة افتراضية لـ Python 3.13، اضبط VIRTUAL_ENV:
export VIRTUAL_ENV=/path/to/venv
elide python app.pyيقرأ Elide المجلد lib/python3.13/site-packages الخاص بالبيئة.
راجع الحزم والبيئات الافتراضية؛ وبالنسبة إلى unittest و pytest، راجع اختبارات Python.
التتبع والمقاييس
تصدّر واجهة opentelemetry البرمجية و logging التتبعات والمقاييس والسجلات عبر Elide، دون تثبيت أي SDK؛ راجع
OpenTelemetry في Python.
القيود المعروفة
- امتدادات C: بعض وحدات امتداد C لا تُحمَّل.
- macOS: عزل الوحدات الأصلية غير متاح.
- SIMD في WebAssembly: تثبيت Python يعطّله؛ راجع WebAssembly مع Elide.
- الاختلافات عن CPython: تتصرف بعض الحالات الحدّية بشكل مختلف عن CPython 3.13؛ راجع مصفوفة التوافق.