python - لغة برمجة مُفسَّرة وتفاعلية وموجهة للكائنات.
ملخص
python [ -B ] [ -b ] [ -d ] [ -E ] [ -h ] [ -i ] [ -I ]
[ -m module-name ] [ -q ] [ -R ] [ -O ] [ -OO ] [ -P ] [ -s ] [ -S ] [ -u ]
[ -v ] [ -V ] [ -W argument ] [ -x ] [ -X option ] [ -? ]
[ --check-hash-based-pycs default | always | never ]
[ --help ] [ --help-env ] [ --help-xoptions ] [ --help-all ]
[ -c command | script | - ] [ arguments ]
الوصف
بايثون هي لغة برمجة مُفسَّرة وتفاعلية وموجهة للكائنات تجمع بين القوة الملحوظة والصياغة الواضحة جدًا. للحصول على مقدمة للبرمجة بلغة بايثون، راجع دليل بايثون التعليمي. توثق مرجع مكتبة بايثون الأنواع والثوابت والدوال والوحدات المضمنة والقياسية. أخيرًا، يصف مرجع لغة بايثون بناء الجملة ودلالات اللغة الأساسية بالتفصيل (ربما). (قد يتم العثور على هذه المستندات عبر الإنترنت في قسم "مصادر الإنترنت" أدناه؛ قد يتم تثبيتها على نظامك أيضًا).
يمكن توسيع قوة بايثون الأساسية بوحدات خاصة بك مكتوبة بلغة C أو C++. في معظم الأنظمة، يمكن تحميل هذه الوحدات ديناميكيًا. بايثون قابلة للتكيف أيضًا كلغة توسعة للتطبيقات الموجودة. راجع الوثائق الداخلية للحصول على تلميحات.
يمكن عرض الوثائق الخاصة بوحدات وحزم بايثون المثبتة عن طريق تشغيل برنامج pydoc.
خيارات سطر الأوامر
-B لا تقم بكتابة ملفات .pyc عند الاستيراد. انظر أيضًا PYTHONDONTWRITEBYTECODE.
-b يصدر تحذيرات حول str(bytes_instance) و str(bytearray_instance) ومقارنة bytes/bytearray بـ str. (-bb: يصدر أخطاء)
-c command
حدد الأمر المراد تنفيذه (انظر القسم التالي). هذا ينهي قائمة الخيارات (يتم تمرير الخيارات التالية كمعاملات للأمر).
--check-hash-based-pycs mode
قم بتكوين كيفية تقييم بايثون لتحديث ملفات .pyc المستندة إلى التجزئة.
-d قم بتشغيل إخراج تصحيح أخطاء المحلل (للمستخدمين المتقدمين فقط، اعتمادًا على خيارات التجميع).
-E تجاهل متغيرات البيئة مثل PYTHONPATH و PYTHONHOME التي تعدل سلوك المترجم.
-h, -?, --help
يطبع استخدام المترجم القابل للتنفيذ ويخرج.
--help-env
يطبع مساعدة حول متغيرات بيئة بايثون المحددة ويخرج.
--help-xoptions
يطبع مساعدة حول الخيارات الخاصة بالتنفيذ -X ويخرج.
--help-all
يطبع معلومات الاستخدام الكاملة ويخرج.
-i عند تمرير البرنامج النصي كوسيطة أولى أو استخدام خيار -c، ادخل في الوضع التفاعلي بعد تنفيذ البرنامج النصي أو الأمر. لا يقرأ ملف $PYTHONSTARTUP. يمكن أن يكون هذا مفيدًا لفحص المتغيرات العامة أو تتبع المكدس عندما يثير البرنامج النصي استثناءً.
-I تشغيل بايثون في وضع معزول. وهذا يعني أيضًا -E و -P و -s. في الوضع المعزول، لا يحتوي `sys.path` على دليل البرنامج النصي أو دليل "site-packages" الخاص بالمستخدم. يتم تجاهل جميع متغيرات البيئة `PYTHON*` أيضًا. يمكن فرض قيود إضافية لمنع المستخدم من حقن تعليمات برمجية ضارة.
-m اسم_الوحدة
يبحث في sys.path عن الوحدة المسماة ويشغل ملف .py المقابل كنص برمجي. هذا ينهي قائمة الخيارات (يتم تمرير الخيارات التالية كمعلمات إلى الوحدة).
-O إزالة عبارات `assert` وأي تعليمات برمجية تعتمد على قيمة `__debug__`؛ إضافة `.opt-1` إلى اسم الملف للوحدات النمطية المترجمة (ملفات bytecode) قبل امتداد `.pyc`.
-OO يقوم بتنفيذ -O ويتجاهل أيضًا سلاسل التوثيق (docstrings)؛ تغيير اسم الملف للوحدات النمطية المترجمة (ملفات bytecode) عن طريق إضافة `.opt-2` قبل امتداد `.pyc`.
-P عدم إضافة مسار غير آمن تلقائيًا إلى `sys.path` مثل الدليل الحالي أو دليل البرنامج النصي أو سلسلة فارغة. انظر أيضًا متغير البيئة `PYTHONSAFEPATH`.
-q عدم طباعة رسائل الإصدار وحقوق النشر. يتم أيضًا قمع هذه الرسائل في الوضع غير التفاعلي.
-R تفعيل التجزئة العشوائية. هذا الخيار له تأثير فقط إذا تم تعيين متغير البيئة `PYTHONHASHSEED` إلى 0، حيث يتم تمكين التجزئة العشوائية افتراضيًا.
-s عدم إضافة دليل "site" الخاص بالمستخدم إلى `sys.path`.
-S تعطيل استيراد الوحدة `site` والتلاعبات المتعلقة بـ `sys.path` التي تقوم بها. أيضًا، تعطيل هذه التلاعبات إذا تم استيراد `site` بشكل صريح لاحقًا.
-u فرض أن تكون تدفقات الإخراج القياسية (stdout) والخطأ القياسي (stderr) غير مخزنة مؤقتًا. هذا الخيار ليس له أي تأثير على تدفق الإدخال القياسي (stdin).
-v طباعة رسالة في كل مرة يتم فيها تهيئة وحدة، مع إظهار المكان (اسم الملف أو الوحدة المضمنة) الذي يتم تحميلها منه. عند إعطائه مرتين، اطبع رسالة لكل ملف يتم التحقق منه عند البحث عن وحدة. يوفر أيضًا معلومات حول تنظيف الوحدة عند الخروج.
-V ، --version
يطبع رقم إصدار بايثون للملف القابل للتنفيذ ويخرج. عند إعطائه مرتين، اطبع المزيد من المعلومات حول الإنشاء.
-W وسيطة
التحكم في التحذيرات. بشكل افتراضي، تطبع آلية التحذير في بايثون رسائل التحذير إلى sys.stderr.
تطبق أبسط الإعدادات إجراءً معينًا بشكل غير مشروط على جميع التحذيرات المنبعثة بواسطة العملية (حتى تلك التي يتم تجاهلها افتراضيًا):
-Wdefault # تحذير مرة واحدة لكل موقع استدعاء
-Werror # التحويل إلى استثناءات
-Walways # تحذير في كل مرة
-Wall # نفس -Walways
-Wmodule # تحذير مرة واحدة لكل وحدة استدعاء
-Wonce # تحذير مرة واحدة لكل عملية بايثون
-Wignore # عدم التحذير أبدًا
يمكن اختصار أسماء الإجراءات حسب الرغبة وسيقوم المترجم بحلها إلى اسم الإجراء المناسب. على سبيل المثال، -Wi هو نفسه -Wignore.
الشكل الكامل للمعامل هو: إجراء:رسالة:فئة:وحدة:رقم السطر
الحقول الفارغة تطابق جميع القيم؛ ويمكن حذف الحقول الفارغة اللاحقة. على سبيل المثال، -W ignore::DeprecationWarning يتجاهل جميع تحذيرات DeprecationWarning.
ينطبق حقل الإجراء كما هو موضح أعلاه، ولكن فقط على التحذيرات التي تطابق الحقول المتبقية.
يجب أن يطابق حقل الرسالة نص التحذير المطبوع بالكامل؛ هذا التطابق غير حساس لحالة الأحرف.
يطابق حقل الفئة فئة التحذير (على سبيل المثال، "DeprecationWarning"). يجب أن يكون هذا اسم فئة؛ يختبر التطابق ما إذا كانت فئة التحذير الفعلية للرسالة فئة فرعية من فئة التحذير المحددة.
يطابق حقل الوحدة اسم الوحدة (بالكامل)؛ هذا التطابق حساس لحالة الأحرف.
يطابق حقل رقم السطر رقم السطر، حيث يطابق الصفر جميع أرقام الأسطر، وبالتالي فهو يعادل حذف رقم السطر.
يمكن إعطاء خيارات -W متعددة؛ عندما يطابق التحذير أكثر من خيار، يتم تنفيذ الإجراء للخيار الأخير المطابق. يتم تجاهل خيارات -W غير الصالحة (ومع ذلك، تتم طباعة رسالة تحذير حول الخيارات غير الصالحة عند إصدار أول تحذير).
يمكن أيضًا التحكم في التحذيرات باستخدام متغير البيئة PYTHONWARNINGS وداخل برنامج Python باستخدام وحدة warnings. على سبيل المثال، يمكن استخدام الدالة warnings.filterwarnings() لاستخدام تعبير عادي على رسالة التحذير.
^ X option
تعيين خيار خاص بالتنفيذ. الخيارات التالية متاحة:
`-X cpu_count=N`: تجاوز القيمة التي يتم إرجاعها بواسطة `os.cpu_count()`؛
`-X cpu_count=default`: إلغاء التجاوز؛ أيضًا `PYTHON_CPU_COUNT`
`-X dev`: تمكين "وضع التطوير" لـ CPython، مما يقدم فحوصات إضافية لوقت التشغيل والتي تكون مكلفة للغاية بحيث لا يمكن تمكينها افتراضيًا. لن يكون أكثر إسهابًا من الوضع الافتراضي إذا كان الكود صحيحًا: يتم إصدار تحذيرات جديدة فقط عند اكتشاف مشكلة. تأثير وضع المطور:
* إضافة مرشح تحذير افتراضي، كما هو الحال في `-W default`
* تثبيت خطافات التصحيح على مُخصصات الذاكرة: انظر الدالة `PyMem_SetupDebugHooks()` في C
* تمكين وحدة `faulthandler` لإخراج تتبع Python عند التعطل
* تمكين وضع تصحيح `asyncio`
* تعيين سمة `dev_mode` في `sys.flags` إلى `True`
* يقوم مُدمر `io.IOBase` بتسجيل استثناءات `close()`
`-X importtime`: عرض المدة التي يستغرقها كل استيراد. يعرض اسم الوحدة، والوقت التراكمي (بما في ذلك عمليات الاستيراد المتداخلة) والوقت الذاتي (باستثناء عمليات الاستيراد المتداخلة). لاحظ أن إخراجه قد يكون معطلاً في التطبيقات متعددة الخيوط. الاستخدام النموذجي هو
`python3 -X importtime -c 'import asyncio'`
`-X faulthandler`: تمكين `faulthandler`
`-X frozen_modules=[on|off]`: ما إذا كان سيتم استخدام وحدات مجمدة أم لا.
الافتراضي هو "on" (أو "off" إذا كنت تقوم بتشغيل إصدار محلي).
`-X gil=[0|1]`: تمكين (1) أو تعطيل (0) GIL؛ أيضًا `PYTHON_GIL`
متاح فقط في الإصدارات التي تم تكوينها باستخدام `--disable-gil`.
`-X int_max_str_digits=number`: حد حجم التحويلات `int<->str`.
يساعد هذا في تجنب هجمات رفض الخدمة عند تحليل البيانات غير الموثوق بها. الافتراضي هو `sys.int_info.default_max_str_digits`. 0 يعطله.
-X no_debug_ranges: تعطيل تضمين الجداول التي تعيّن معلومات إضافية حول الموقع (سطر النهاية، وإزاحة عمود البداية، وإزاحة عمود النهاية) لكل تعليمة في كائنات التعليمات البرمجية. هذا مفيد عندما تكون كائنات التعليمات البرمجية وملفات pyc أصغر، بالإضافة إلى منع مؤشرات الموقع الإضافية المرئية عندما يعرض المفسر تتبعات الأخطاء.
-X perf: دعم أداة "perf" الخاصة بنظام Linux؛ وأيضًا PYTHONPERFSUPPORT=1
-X perf_jit: دعم أداة "perf" الخاصة بنظام Linux مع دعم DWARF؛ وأيضًا PYTHON_PERF_JIT_SUPPORT=1
-X presite=MOD: استيراد هذه الوحدة قبل "site"؛ وأيضًا PYTHON_PRESITE. هذا يعمل فقط في الإصدارات التجريبية.
-X pycache_prefix=PATH: تمكين كتابة ملفات .pyc إلى شجرة موازية جذرها في الدليل المحدد بدلاً من كتابتها في شجرة التعليمات البرمجية.
-X showrefcount: إخراج العدد الإجمالي للمراجع وعدد كتل الذاكرة المستخدمة عند انتهاء البرنامج أو بعد كل عبارة في المفسر التفاعلي. هذا يعمل فقط في الإصدارات التجريبية.
-X tracemalloc: بدء تتبع تخصيصات الذاكرة في Python باستخدام وحدة "tracemalloc". افتراضيًا، يتم تخزين أحدث إطار فقط في تتبع أخطاء. استخدم -X tracemalloc=NFRAME لبدء التتبع مع حد لتتبع الأخطاء يبلغ NFRAME من الإطارات.
-X utf8: تمكين وضع UTF-8 للواجهات الخاصة بنظام التشغيل، مع تجاوز الوضع الافتراضي الذي يعتمد على الإعدادات المحلية. -X utf8=0 يعطل بشكل صريح وضع UTF-8 (حتى عندما يتم تفعيله تلقائيًا). راجع PYTHONUTF8 لمزيد من التفاصيل.
-X warn_default_encoding: تمكين تحذير "EncodingWarning" اختياريًا لـ "encoding=None".
-x: تخطي السطر الأول من المصدر. هذا مخصص لحيل خاصة بنظام DOS فقط. تحذير: ستكون أرقام الأسطر في رسائل الخطأ غير صحيحة بمقدار واحد!
واجهة المفسر
تشبه واجهة المفسر واجهة UNIX shell: عند استدعائه مع توصيل الإدخال القياسي بجهاز tty، فإنه يطالب بالأوامر وينفذها حتى تتم قراءة EOF؛ عند استدعائه باسم ملف أو بملف كإدخال قياسي، فإنه يقرأ وينفذ برنامجًا نصيًا من هذا الملف؛ عند استدعائه مع -c command، فإنه ينفذ عبارة (عبارات) Python المعطاة كـ command. يمكن أن يحتوي command على عبارات متعددة مفصولة بأسطر جديدة. المسافات الفارغة في بداية الأسطر مهمة في عبارات Python! في الوضع غير التفاعلي، يتم تحليل الإدخال بأكمله قبل تنفيذه.
إذا كان متاحًا، يتم تمرير اسم البرنامج النصي والحجج الإضافية بعده إلى البرنامج النصي في متغير Python sys.argv، وهو عبارة عن قائمة من السلاسل (يجب عليك أولاً استيراد sys لتتمكن من الوصول إليه). إذا لم يتم إعطاء اسم برنامج نصي، فإن sys.argv[0] عبارة عن سلسلة فارغة؛ إذا تم استخدام -c، فإن sys.argv[0] يحتوي على السلسلة '-c'. لاحظ أن الخيارات التي يفسرها مفسر Python نفسه لا يتم وضعها في sys.argv.
في الوضع التفاعلي، يكون المطالبة الأساسية هي '>>>'; تكون المطالبة الثانية (التي تظهر عندما لا تكون العبارة كاملة) هي '...'. يمكن تغيير المطالبات عن طريق التعيين إلى sys.ps1 أو sys.ps2. يخرج المفسر عند قراءة EOF في المطالبة. عندما يحدث استثناء غير معالج، تتم طباعة تتبع المكدس وتعود السيطرة إلى المطالبة الأساسية؛ في الوضع غير التفاعلي، يخرج المفسر بعد طباعة تتبع المكدس. يؤدي إشارة المقاطعة إلى رفع استثناء KeyboardInterrupt؛ لا يتم التقاط الإشارات الأخرى لنظام UNIX (باستثناء أنه يتم تجاهل SIGPIPE في بعض الأحيان، لصالح استثناء IOError). تتم كتابة رسائل الخطأ إلى stderr.
الملفات والمجلدات
تختلف هذه باختلاف اتفاقيات التثبيت المحلية؛ ${prefix} و ${exec_prefix} تعتمدان على التثبيت ويجب تفسيرهما كما هو الحال في برامج GNU؛ وقد يكونان متماثلين. في Debian GNU/{Hurd,Linux}، القيمة الافتراضية لكليهما هي /usr.
${exec_prefix}/bin/python
الموقع الموصى به للمترجم.
${prefix}/lib/python<version>
${exec_prefix}/lib/python<version>
المواقع الموصى بها للمجلدات التي تحتوي على الوحدات النمطية القياسية.
${prefix}/include/python<version>
${exec_prefix}/include/python<version>
المواقع الموصى بها للمجلدات التي تحتوي على ملفات الرأس المطلوبة لتطوير ملحقات Python وتضمين المترجم.
متغيرات البيئة
PYTHONASYNCIODEBUG
إذا تم تعيين هذا المتغير البيئي على سلسلة غير فارغة، فسيتم تمكين وضع التصحيح لوحدة asyncio.
PYTHON_BASIC_REPL
إذا تم تعيين هذا المتغير على أي قيمة، فلن يحاول المترجم تحميل واجهة سطر الأوامر القائمة على Python والتي تتطلب curses و readline، وبدلاً من ذلك سيستخدم واجهة سطر الأوامر القائمة على المحلل اللغوي التقليدي.
PYTHONBREAKPOINT
إذا تم تعيين هذا المتغير البيئي على 0، فسيتم تعطيل مصحح الأخطاء الافتراضي. يمكن تعيينه على القيمة القابلة للاستدعاء الخاصة بمصحح الأخطاء الذي تختاره.
PYTHONCOERCECLOCALE
إذا تم تعيينه على القيمة 0، فسيؤدي ذلك إلى تخطي تطبيق سطر أوامر Python الرئيسي لعملية تحويل إعدادات اللغة C و POSIX القديمة القائمة على ASCII إلى بديل أكثر قدرة يعتمد على UTF-8.
PYTHON_COLORS
إذا تم تعيين هذا المتغير على 1، فسيقوم المترجم بتلوين أنواع مختلفة من الإخراج. يؤدي تعيينه على 0 إلى تعطيل هذا السلوك.
PYTHON_CPU_COUNT
إذا تم تعيين هذا المتغير على عدد صحيح موجب، فسيؤدي ذلك إلى تجاوز القيم التي يتم إرجاعها بواسطة os.cpu_count و os.process_cpu_count.
انظر أيضًا الخيار -X cpu_count.
PYTHONDEBUG
إذا تم تعيين هذا على سلسلة غير فارغة، فإنه يعادل تحديد خيار -d. إذا تم تعيينه على عدد صحيح، فإنه يعادل تحديد -d عدة مرات.
PYTHONEXECUTABLE
إذا تم تعيين هذا المتغير البيئي، فسيتم تعيين sys.argv[0] على قيمته بدلاً من القيمة التي تم الحصول عليها من خلال وقت تشغيل C. يعمل فقط على نظام التشغيل Mac OS X.
PYTHONFAULTHANDLER
إذا تم تعيين هذا المتغير البيئي على سلسلة غير فارغة، فسيتم استدعاء faulthandler.enable() عند بدء التشغيل: قم بتثبيت معالج لإشارات SIGSEGV و SIGFPE و SIGABRT و SIGBUS و SIGILL لعرض تتبع Python.
هذا يعادل الخيار -X faulthandler.
PYTHON_FROZEN_MODULES
إذا تم تعيين هذه المتغير على "تشغيل" أو "إيقاف"، فإنه يحدد ما إذا كانت الوحدات النمطية المجمدة سيتم تجاهلها بواسطة آلية الاستيراد أم لا. القيمة "تشغيل" تعني أنها سيتم استيرادها والقيمة "إيقاف" تعني أنها سيتم تجاهلها. القيمة الافتراضية هي "تشغيل" للإصدارات غير المصححة (الحالة العادية) و"إيقاف" للإصدارات المصححة.
انظر أيضًا الخيار `-X frozen_modules`.
PYTHON_GIL
إذا تم تعيين هذا المتغير على 1، فسيتم فرض تشغيل القفل العام للمترجم (GIL). يؤدي تعيينه على 0 إلى فرض إيقاف تشغيل GIL. متاح فقط في الإصدارات التي تم تكوينها باستخدام `--disable-gil`.
هذا يعادل الخيار `-X gil`.
PYTHON_HISTORY
يمكن استخدام هذا المتغير البيئي لتعيين موقع ملف السجل (على نظام التشغيل Unix، يكون `~/.python_history` افتراضيًا).
PYTHONNODEBUGRANGES
إذا تم تعيين هذا المتغير، فإنه يعطل تضمين الجداول التي تعين معلومات موقع إضافية (رقم السطر الأخير، وإزاحة عمود البداية، وإزاحة عمود النهاية) لكل تعليمات في كائنات التعليمات البرمجية. هذا مفيد عندما تكون كائنات التعليمات البرمجية وملفات `pyc` أصغر، بالإضافة إلى قمع مؤشرات الموقع المرئية الإضافية عند عرض المترجم لتتبعات الأخطاء.
PYTHONDONTWRITEBYTECODE
إذا تم تعيين هذا على سلسلة غير فارغة، فإنه يعادل تحديد الخيار `-B` (عدم محاولة كتابة ملفات `.pyc`).
PYTHONDEVMODE
إذا تم تعيين هذا المتغير البيئي على سلسلة غير فارغة، فسيتم تمكين "وضع التطوير" الخاص بـ Python، مما يقدم فحوصات إضافية لوقت التشغيل باهظة الثمن بحيث لا يمكن تمكينها افتراضيًا.
هذا يعادل الخيار `-X dev`.
PYTHONHASHSEED
إذا تم تعيين هذا المتغير على "عشوائي"، فسيتم استخدام قيمة عشوائية لتهيئة قيم تجزئة كائنات السلسلة والبايت.
إذا تم تعيين `PYTHONHASHSEED` على قيمة عدد صحيح، فسيتم استخدامها كقيمة ثابتة لتوليد قيمة `hash()` للأنواع التي تغطيها عشوائية التجزئة. الغرض منه هو السماح بتجزئة قابلة للتكرار، مثل للاختبارات الذاتية للمترجم نفسه، أو للسماح لمجموعة من عمليات Python بمشاركة قيم التجزئة.
يجب أن يكون العدد الصحيح عددًا عشريًا في النطاق [0، 4294967295]. سيؤدي تحديد القيمة 0 إلى تعطيل عشوائية التجزئة.
PYTHONHOME
يغير موقع مكتبات Python القياسية. افتراضيًا، يتم البحث في المكتبات في `${prefix}/lib/python<version>` و`${exec_prefix}/lib/python<version>`، حيث `${prefix}` و`${exec_prefix}` هما دليلان يعتمدان على التثبيت، وكلاهما يفتراض افتراضيًا إلى `/usr/local`. عند تعيين `$PYTHONHOME` إلى دليل واحد، فإن قيمته تحل محل كل من `${prefix}` و`${exec_prefix}`. لتحديد قيم مختلفة لهذين، قم بتعيين `$PYTHONHOME` إلى `${prefix}:${exec_prefix}`.
PYTHONINSPECT
إذا تم تعيين هذا على سلسلة غير فارغة، فإنه يعادل تحديد الخيار `-i`.
PYTHONINTMAXSTRDIGITS
يحدد الحد الأقصى لعدد الأحرف في قيمة عدد صحيح عند التحويل من سلسلة وعند التحويل من عدد صحيح إلى سلسلة. قيمة 0 تعطل الحد. لا يتم تحديد التحويلات إلى أو من الأساسين 2 و 4 و 8 و 16 و 32 أبدًا.
هذا يعادل الخيار `-X int_max_str_digits=NUMBER`.
PYTHONIOENCODING
إذا تم تعيين هذا قبل تشغيل المترجم، فإنه يتجاوز الترميز المستخدم لـ stdin/stdout/stderr، بالتنسيق ترميز:معالج_الأخطاء. الجزء الخاص بمعالج الأخطاء اختياري وله نفس معنى str.encode. بالنسبة لـ stderr، يتم تجاهل جزء معالج الأخطاء؛ سيكون المعالج دائمًا هو "backslashreplace".
PYTHONMALLOC
يحدد مُخصّصات الذاكرة في بايثون و/أو يقوم بتثبيت خطافات التصحيح. مُخصّصات الذاكرة المتاحة هي malloc و pymalloc. خطافات التصحيح المتاحة هي debug و malloc_debug و pymalloc_debug.
عند تجميع بايثون في وضع التصحيح، يكون الافتراضي هو pymalloc_debug ويتم استخدام خطافات التصحيح تلقائيًا. بخلاف ذلك، يكون الافتراضي هو pymalloc.
PYTHONMALLOCSTATS
إذا تم تعيينه إلى سلسلة غير فارغة، فستقوم بايثون بطباعة إحصائيات مُخصّص الذاكرة pymalloc في كل مرة يتم فيها إنشاء منطقة ذاكرة pymalloc جديدة، وعند الإغلاق.
يتم تجاهل هذا المتغير إذا تم استخدام متغير البيئة $PYTHONMALLOC لفرض استخدام مُخصّص malloc(3) الخاص بمكتبة C، أو إذا تم تكوين بايثون بدون دعم pymalloc.
PYTHONNOUSERSITE
إذا تم تعيينه إلى سلسلة غير فارغة، فهذا يعادل تحديد خيار -s (عدم إضافة دليل الموقع الخاص بالمستخدم إلى sys.path).
PYTHONOPTIMIZE
إذا تم تعيينه إلى سلسلة غير فارغة، فهذا يعادل تحديد خيار -O. إذا تم تعيينه إلى عدد صحيح، فهذا يعادل تحديد -O عدة مرات.
PYTHONPATH
يزيد من مسار البحث الافتراضي عن ملفات الوحدة النمطية. التنسيق هو نفسه تنسيق $PATH في shell: مسار دليل واحد أو أكثر مفصولة بنقطتين. يتم تجاهل الأدلة غير الموجودة بصمت. مسار البحث الافتراضي يعتمد على التثبيت، ولكن بشكل عام يبدأ بـ ${prefix}/lib/python<version> (انظر PYTHONHOME أعلاه). يتم دائمًا إلحاق مسار البحث الافتراضي بـ $PYTHONPATH. إذا تم تقديم وسيطة نصية، يتم إدراج الدليل الذي يحتوي على البرنامج النصي في المسار أمامه من $PYTHONPATH. يمكن معالجة مسار البحث من داخل برنامج بايثون كمتغير sys.path.
PYTHON_PERF_JIT_SUPPORT
إذا تم تعيين هذا المتغير إلى قيمة غير صفرية، فإنه يمكّن دعم أداة تحليل الأداء Linux perf بحيث يمكن اكتشاف استدعاءات بايثون بواسطة الأداة باستخدام معلومات DWARF. يؤدي التعيين إلى 0 إلى تعطيله.
راجع أيضًا خيار -X perf_jit.
PYTHONPERFSUPPORT
إذا تم تعيين هذا المتغير إلى قيمة غير صفرية، فإنه يمكّن دعم أداة تحليل الأداء Linux perf بحيث يمكن اكتشاف استدعاءات بايثون بواسطة الأداة. يؤدي التعيين إلى 0 إلى تعطيله.
راجع أيضًا خيار -X perf.
PYTHONPLATLIBDIR
تجاوز sys.platlibdir.
PYTHONPROFILEIMPORTTIME
إذا تم تعيين متغير البيئة هذا إلى سلسلة غير فارغة، فستعرض بايثون المدة التي يستغرقها كل استيراد. هذا يعادل تمامًا تحديد -X importtime في سطر الأوامر.
PYTHONPYCACHEPREFIX
إذا تم تعيين هذا، فستقوم بايثون بكتابة ملفات .pyc في شجرة دليل معكوسة في هذا المسار، بدلاً من كتابتها في أدلة \_\_pycache\_\_ داخل شجرة المصدر.
هذا يعادل تحديد الخيار -X pycache_prefix=PATH.
PYTHONSAFEPATH
إذا تم تعيينه كسلسلة غير فارغة، فلا تتم إضافة مسار غير آمن تلقائيًا إلى sys.path، مثل الدليل الحالي، أو دليل البرنامج النصي، أو سلسلة فارغة. انظر أيضًا خيار -P.
PYTHONSTARTUP
إذا كان هذا اسم ملف قابل للقراءة، فسيتم تنفيذ أوامر Python الموجودة في هذا الملف قبل عرض أول مطالبة في الوضع التفاعلي. يتم تنفيذ الملف في نفس مساحة الاسم التي يتم فيها تنفيذ الأوامر التفاعلية، بحيث يمكن استخدام الكائنات المعرفة أو المستوردة فيه دون تحديد في الجلسة التفاعلية. يمكنك أيضًا تغيير المطالبات sys.ps1 و sys.ps2 في هذا الملف.
PYTHONTRACEMALLOC
إذا تم تعيين متغير البيئة هذا كسلسلة غير فارغة، فابدأ في تتبع تخصيصات الذاكرة في Python باستخدام وحدة tracemalloc.
القيمة هي الحد الأقصى لعدد الإطارات المخزنة في تتبع التتبع. على سبيل المثال، `PYTHONTRACEMALLOC=1` يخزن الإطار الأخير فقط.
PYTHONUNBUFFERED
إذا تم تعيينه كسلسلة غير فارغة، فهو يعادل تحديد خيار -u.
PYTHONUSERBASE
يحدد دليل قاعدة المستخدم، والذي يستخدم لحساب مسار دليل site-packages الخاص بالمستخدم ومسارات التثبيت لـ python -m pip install --user.
PYTHONUTF8
إذا تم تعيينه على 1، فقم بتمكين "وضع UTF-8" في Python. يؤدي تعيينه على 0 إلى تعطيله.
PYTHONVERBOSE
إذا تم تعيينه كسلسلة غير فارغة، فهو يعادل تحديد خيار -v. إذا تم تعيينه كعدد صحيح، فهو يعادل تحديد -v عدة مرات.
PYTHONWARNDEFAULTENCODING
إذا تم تعيين متغير البيئة هذا كسلسلة غير فارغة، فسيتم إصدار EncodingWarning عند استخدام الترميز الافتراضي الخاص بالإعدادات المحلية.
PYTHONWARNINGS
إذا تم تعيين هذا كسلسلة مفصولة بفواصل، فهو يعادل تحديد خيار -W لكل قيمة منفصلة.
متغيرات وضع التصحيح
إن تعيين هذه المتغيرات له تأثير فقط في إصدار تصحيح من Python، أي إذا تم تكوين Python باستخدام خيار البناء --with-pydebug.
PYTHONDUMPREFS
إذا تم تعيين متغير البيئة هذا، فستقوم Python بإخراج الكائنات وعدد المراجع التي لا تزال موجودة بعد إيقاف تشغيل المترجم.
PYTHONDUMPREFSFILE
إذا تم تعيينه، فستقوم Python بإخراج الكائنات وعدد المراجع التي لا تزال موجودة بعد إيقاف تشغيل المترجم في ملف موجود في المسار المحدد كقيمة لهذا متغير البيئة.
PYTHON_PRESITE
إذا تم تعيين هذا المتغير إلى وحدة، فسيتم استيراد هذه الوحدة في وقت مبكر من دورة حياة المترجم، قبل تنفيذ وحدة site، وقبل إنشاء الوحدة __main__. هذا يعمل فقط على إصدارات التصحيح.
هذا يعادل خيار `-X presite=module`.
المؤلف
مؤسسة برمجيات Python: https://www.python.org/psf/
موارد الإنترنت
الموقع الرئيسي: https://www.python.org/ الوثائق: https://docs.python.org/ موارد المطور: https://devguide.python.org/ التنزيلات: https://www.python.org/downloads/ مستودع الوحدات: https://pypi.org/ مجموعات الأخبار: comp.lang.python، comp.lang.python.announce
التراخيص
يتم توزيع بايثون بموجب ترخيص مفتوح المصدر. راجع الملف "LICENSE" في توزيعة مصدر بايثون للحصول على معلومات حول شروط وأحكام الوصول إلى بايثون واستخدامه، ولمعلومات حول إخلاء المسؤولية عن جميع الضمانات.