.TH PYTHON3.14 "1" .\" To view this file while editing, run it through groff: .\" groff -Tascii -man python.man | less .SH "نام (NAME)" python3.14 \- یک زبان برنامهنویسی تفسیری، تعاملی و شیگرا .SH "خلاصه دستور (SYNOPSIS)" .B python3.14 [ .B \-B ] [ .B \-b ] [ .B \-d ] [ .B \-E ] [ .B \-h ] [ .B \-i ] [ .B \-I ] .br [ .B \-m .I module-name ] [ .B \-q ] [ .B \-R ] [ .B \-O ] [ .B \-OO ] [ .B \-P ] [ .B \-s ] [ .B \-S ] [ .B \-u ] .br [ .B \-v ] [ .B \-V ] [ .B \-W .I argument ] [ .B \-x ] [ .B \-X .I option ] [ .B \-? ] .br [ .B \-\-check-hash-based-pycs .I default | .I always | .I never ] .br [ .B \-\-help ] [ .B \-\-help\-env ] [ .B \-\-help\-xoptions ] [ .B \-\-help\-all ] .br [ .B \-c .I command | .I script | \- ] [ .I arguments ] .SH "توضیحات (DESCRIPTION)" پایتون یک زبان برنامه‌نویسی تفسیری، تعاملی و شی‌گرا است که قدرت چشمگیر را با ساختار نحوی بسیار واضح ترکیب می‌کند. برای آشنایی با برنامه‌نویسی در پایتون، به «آموزش پایتون» (Python Tutorial) مراجعه کنید. «مرجع کتابخانه پایتون» (Python Library Reference) انواع توکار و استاندارد، ثابت‌ها، توابع و ماژول‌ها را مستندسازی می‌کند. در نهایت، «دفترچه راهنمای مرجع پایتون» (Python Reference Manual) نحو و معناشناسی زبان اصلی را با جزئیات کامل (شاید بیش از حد) شرح می‌دهد. (این مستندات را می‌توان از طریق بخش .B "منابع اینترنتی (INTERNET RESOURCES)" در ادامه پیدا کرد؛ همچنین ممکن است روی سیستم شما نیز نصب شده باشند.) .PP قدرت پایه پایتون را می‌توان با ماژول‌های اختصاصی نوشته‌شده به زبان‌های C یا ++C گسترش داد. در بیشتر سیستم‌ها، چنین ماژول‌هایی را می‌توان به‌صورت پویا بارگذاری کرد. پایتون همچنین به عنوان یک زبان الحاقی برای برنامه‌های موجود قابل انطباق است. برای نکات بیشتر به مستندات داخلی مراجعه کنید. .PP مستندات مربوط به ماژول‌ها و بسته‌های پایتون نصب‌شده را می‌توان با اجرای برنامه .B pydoc مشاهده کرد. .SH "گزینه‌های خط فرمان (COMMAND LINE OPTIONS)" .TP .B \-B هنگام وارد کردن ماژول‌ها (import)، فایل‌های .I .pyc را روی دیسک ننویس. همچنین PYTHONDONTWRITEBYTECODE را ببینید. .TP .B \-b هشدارهایی درباره str(bytes_instance)، str(bytearray_instance) و مقایسه bytes/bytearray با str صادر می‌کند (\-bb: به جای هشدار، خطا صادر می‌کند). .TP .BI "\-c " command دستور مورد نظر برای اجرا را مشخص می‌کند (بخش بعدی را ببینید). این گزینه فهرست گزینه‌ها را خاتمه می‌دهد (گزینه‌های بعدی به عنوان آرگومان به این دستور ارسال می‌شوند). .TP .BI "\-\-check\-hash\-based\-pycs " mode نحوه ارزیابی به‌روز بودن فایل‌های pyc. مبتنی بر هش را توسط پایتون پیکربندی می‌کند. .TP .B \-d خروجی اشکال‌زدایی تجزیه‌کننده (parser) را فعال می‌کند (فقط برای افراد متخصص، بسته به گزینه‌های زمان کامپایل). .TP .B \-E متغیرهای محیطی مانند PYTHONPATH و PYTHONHOME را که رفتار مفسر را تغییر می‌دهند، نادیده می‌گیرد. .TP .B \-h ", " \-? ", "\-\-help راهنمای استفاده از فایل اجرایی مفسر را چاپ کرده و خارج می‌شود. .TP .B "\-\-help\-env" راهنمای متغیرهای محیطی مختص پایتون را چاپ کرده و خارج می‌شود. .TP .B "\-\-help\-xoptions" راهنمای گزینه‌های \fB\-X\fP مختص پیاده‌سازی را چاپ کرده و خارج می‌شود. .TP .B "\-\-help\-all" اطلاعات کامل نحوه استفاده را چاپ کرده و خارج می‌شود. .TP .B \-i هنگامی که یک اسکریپت به عنوان آرگومان اول ارسال می‌شود یا از گزینه \fB\-c\fP استفاده می‌شود، پس از اجرای اسکریپت یا دستور، وارد حالت تعاملی می‌شود. این حالت فایل $PYTHONSTARTUP را نمی‌خواند. این ویژگی می‌تواند برای بررسی متغیرهای سراسری یا ردیابی پشته (stack trace) در زمانی که اسکریپت با استثنا روبرو می‌شود مفید باشد. .TP .B \-I پایتون را در حالت ایزوله (جداسازی‌شده) اجرا می‌کند. این گزینه شامل \fB\-E\fP، \fB\-P\fP و \fB\-s\fP نیز می‌شود. در حالت ایزوله، sys.path نه شامل دایرکتوری اسکریپت و نه شامل دایرکتوری site\-packages کاربر است. تمام متغیرهای محیطی *PYTHON نیز نادیده گرفته می‌شوند. محدودیت‌های بیشتری ممکن است برای جلوگیری از تزریق کد مخرب توسط کاربر اعمال شود. .TP .BI "\-m " module-name مسیرهای .I sys.path را برای ماژول نام‌برده جستجو کرده و فایل .I .py متناظر را به عنوان یک اسکریپت اجرا می‌کند. این گزینه فهرست گزینه‌ها را خاتمه می‌دهد (گزینه‌های بعدی به عنوان آرگومان به ماژول ارسال می‌شوند). .TP .B \-O دستورات assert و هر کدی که به مقدار __debug__ مشروط است را حذف می‌کند؛ با افزودن opt-1. قبل از پسوند pyc. نام فایل‌های کامپایل‌شده (بایت‌کد) را اصلاح می‌کند. .TP .B \-OO کارهای گزینه \fB\-O\fP را انجام داده و علاوه بر آن docstringها را نیز نادیده می‌گیرد؛ با افزودن opt-2. قبل از پسوند pyc. نام فایل‌های کامپایل‌شده (بایت‌کد) را تغییر می‌دهد. .TP .B \-P مسیرهای بالقوه ناامن مانند دایرکتوری جاری، دایرکتوری اسکریپت یا یک رشته خالی را به‌طور خودکار به ابتدای \fBsys.path\fP اضافه نمی‌کند. همچنین متغیر محیطی \fBPYTHONSAFEPATH\fP را ببینید. .TP .B \-q پیام‌های نسخه و حق نشر را چاپ نمی‌کند. این پیام‌ها در حالت غیرتعاملی نیز سرکوب می‌شوند. .TP .B \-R تصادفی‌سازی هش را فعال می‌کند. این گزینه تنها در صورتی اثر دارد که متغیر محیطی \fBPYTHONHASHSEED\fR روی \fB0\fR تنظیم شده باشد، زیرا تصادفی‌سازی هش به‌طور پیش‌فرض فعال است. .TP .B \-s دایرکتوری site کاربر را به sys.path اضافه نمی‌کند. .TP .B \-S وارد کردن ماژول .I site و دستکاری‌های وابسته به site در .I sys.path را غیرفعال می‌کند. همچنین در صورتی که .I site بعداً به‌طور صریح وارد شود، این دستکاری‌ها را غیرفعال می‌سازد. .TP .B \-u جریان‌های stdout و stderr را مجبور به عملکرد بدون بافر (unbuffered) می‌کند. این گزینه اثری بر جریان stdin ندارد. .TP .B \-v هر بار که ماژولی مقداردهی اولیه می‌شود، پیامی چاپ می‌کند که محل بارگذاری آن (نام فایل یا ماژول توکار) را نشان می‌دهد. اگر دو بار داده شود، برای هر فایلی که در حین جستجوی یک ماژول بررسی می‌شود، پیامی چاپ می‌کند. همچنین اطلاعاتی درباره پاکسازی ماژول‌ها هنگام خروج ارائه می‌دهد. .TP .B \-V ", " \-\-version شماره نسخه پایتون فایل اجرایی را چاپ کرده و خارج می‌شود. اگر دو بار داده شود، اطلاعات بیشتری درباره ساخت برنامه چاپ می‌کند. .TP .BI "\-W " argument کنترل هشدارها. سازوکار هشدارهای پایتون به‌طور پیش‌فرض پیام‌های هشدار را در .IR sys.stderr چاپ می‌کند. .PP ساده‌ترین تنظیمات یک اقدام خاص را بدون قید و شرط بر تمام هشدارهای صادرشده توسط یک فرآیند اعمال می‌کنند (حتی آن‌هایی که به‌طور پیش‌فرض نادیده گرفته می‌شوند): .PP .nf -Wdefault # یک‌بار هشدار به ازای هر محل فراخوانی -Werror # تبدیل هشدارها به استثنا (خطا) -Walways # هشدار در هر بار رخ دادن -Wall # همانند -Walways -Wmodule # یک‌بار هشدار به ازای هر ماژول فراخواننده -Wonce # یک‌بار هشدار به ازای هر فرآیند پایتون -Wignore # هرگز هشدار نده .fi .PP نام اقدام‌ها را می‌توان در صورت تمایل کوتاه کرد و مفسر آن‌ها را به نام اقدام مناسب تفسیر می‌کند. به عنوان مثال، .B \-Wi مشابه .B \-Wignore است. .PP شکل کامل این آرگومان به صورت زیر است: .IB action:message:category:module:lineno .PP فیلدهای خالی با همه مقادیر مطابقت دارند؛ فیلدهای خالی پایانی را می‌توان حذف کرد. به عنوان مثال .B \-W ignore::DeprecationWarning تمام هشدارهای DeprecationWarning را نادیده می‌گیرد. .PP فیلد .I action همان‌طور که در بالا توضیح داده شد عمل می‌کند، اما فقط برای هشدارهایی اعمال می‌شود که با فیلدهای باقی‌مانده مطابقت داشته باشند. .PP فیلد .I message باید با کل پیام هشدار چاپ‌شده مطابقت داشته باشد؛ این مطابقت به حروف بزرگ و کوچک حساس نیست. .PP فیلد .I category با رده هشدار مطابقت داده می‌شود (مانند "DeprecationWarning"). این فیلد باید نام یک کلاس باشد؛ آزمون بررسی می‌کند که آیا رده هشدار واقعی پیام، زیرکلاسی از رده هشدار مشخص‌شده است یا خیر. .PP فیلد .I module با نام (کامل و واجد شرایط) ماژول مطابقت داده می‌شود؛ این مطابقت به حروف بزرگ و کوچک حساس است. .PP فیلد .I lineno با شماره خط مطابقت دارد، که در آن صفر با تمام شماره خطوط مطابقت دارد و بنابراین معادل حذف شماره خط است. .PP می‌توان چندین گزینه .B \-W را مشخص کرد؛ هنگامی که یک هشدار با بیش از یک گزینه مطابقت داشته باشد، اقدام مربوط به آخرین گزینه مطابقت‌یافته انجام می‌شود. گزینه‌های .B \-W نامعتبر نادیده گرفته می‌شوند (اگرچه هنگام صدور اولین هشدار، پیامی درباره گزینه‌های نامعتبر چاپ می‌شود). .PP هشدارها را می‌توان با استفاده از متغیر محیطی .B PYTHONWARNINGS و از درون یک برنامه پایتون با استفاده از ماژول warnings نیز کنترل کرد. به عنوان مثال، از تابع ()warnings.filterwarnings می‌توان برای اعمال یک عبارت منظم روی پیام هشدار استفاده نمود. .TP .BI "\-X " option تنظیم گزینه مختص به پیاده‌سازی. گزینه‌های زیر در دسترس هستند: .RS .TP \fB\-X cpu_count=\fIN\fR بازنویسی مقدار بازگشتی \fIos.cpu_count()\fR. مقدار \fB\-X cpu_count=default\fR عمل بازنویسی را لغو می‌کند. همچنین \fBPYTHON_CPU_COUNT\fR را ببینید. .TP \fB\-X dev\fR فعال کردن «حالت توسعه» CPython، که بررسی‌های زمان اجرای بیشتری را که برای فعال بودن به صورت پیش‌فرض بسیار سنگین هستند، معرفی می‌کند. اگر کد درست باشد، خروجی پرحرف‌تر از حالت پیش‌فرض نخواهد بود: هشدارهای جدید فقط در صورت شناسایی یک مشکل صادر می‌شوند. اثرات حالت توسعه: .RS .IP \(bu 2 افزودن فیلتر هشدار پیش‌فرض، همانند \fB\-W default\fR. .IP \(bu 2 نصب قلاب‌های اشکال‌زدایی روی تخصیص‌دهنده‌های حافظه: تابع C به نام ()PyMem_SetupDebugHooks را ببینید. .IP \(bu 2 فعال‌سازی ماژول faulthandler برای ثبت ردیابی پشته پایتون در هنگام خرابی برنامه. .IP \(bu 2 فعال کردن حالت اشکال‌زدایی asyncio. .IP \(bu 2 تنظیم ویژگی dev_mode در sys.flags روی True. .IP \(bu 2 ثبت استثناهای ()close توسط تخریب‌کننده io.IOBase در لاگ. .RE .TP \fB\-X importtime\fR نمایش مدت زمان صرف‌شده برای هر import. این گزینه نام ماژول، زمان تجمعی (شامل importهای تو در تو) و زمان اختصاصی خود ماژول (بدون احتساب importهای تو در تو) را نشان می‌دهد. توجه داشته باشید که خروجی آن در برنامه‌های چندنخی ممکن است دچار اختلال شود. کاربرد متداول: \fBpython3 \-X importtime \-c 'import asyncio'\fR. .IP مقدار \fB\-X importtime=2\fR خروجی بیشتری را فعال می‌کند که نشان می‌دهد چه زمانی یک ماژول واردشده قبلاً بارگذاری شده است. در چنین مواردی، رشته \fBcached\fR در هر دو ستون زمان چاپ خواهد شد. .TP \fB\-X faulthandler\fR فعال‌سازی faulthandler. .TP \fB\-X frozen_modules=\fR[\fBon\fR|\fBoff\fR] تعیین این‌که آیا ماژول‌های منجمد باید استفاده شوند یا خیر. پیش‌فرض "on" است (یا اگر از یک بیلد محلی استفاده می‌کنید "off"). .TP \fB\-X gil=\fR[\fB0\fR|\fB1\fR] فعال کردن (1) یا غیرفعال کردن (0) قفل سراسری مفسر (GIL). همچنین \fBPYTHON_GIL\fR را ببینید. تنها در بیلدهایی که با \fB\-\-disable\-gil\fR پیکربندی شده‌اند در دسترس است. .TP \fB\-X int_max_str_digits=\fInumber\fR محدود کردن اندازه تبدیلات int<->str. این کار به جلوگیری از حملات منع سرویس هنگام تجزیه داده‌های نامطمئن کمک می‌کند. پیش‌فرض sys.int_info.default_max_str_digits است. مقدار 0 این محدودیت را غیرفعال می‌کند. .TP \fB\-X no_debug_ranges\fR غیرفعال کردن درج جدول‌های نگاشت اطلاعات مکانی اضافی (خط پایان، آفست ستون شروع و آفست ستون پایان) به هر دستورالعمل در اشیاء کد. این گزینه زمانی مفید است که اشیاء کد و فایل‌های pyc کوچکتری مد نظر باشد و همچنین نشانگرهای بصری اضافی مکان در هنگام نمایش ردیابی پشته توسط مفسر را سرکوب می‌کند. .TP \fB\-X perf\fR پشتیبانی از پروفایلر "perf" در لینوکس. همچنین \fBPYTHONPERFSUPPORT=1\fR را ببینید. .TP \fB\-X perf_jit\fR پشتیبانی از پروفایلر "perf" در لینوکس با پشتیبانی از DWARF. همچنین \fBPYTHON_PERF_JIT_SUPPORT=1\fR را ببینید. .TP \fB\-X presite=\fIMOD\fR وارد کردن این ماژول پیش از site. همچنین \fBPYTHON_PRESITE\fR را ببینید. این گزینه فقط در بیلدهای اشکال‌زدایی کار می‌کند. .TP \fB\-X pycache_prefix=\fIPATH\fR فعال‌سازی نوشتن فایل‌های pyc. در یک درخت موازی با ریشه در دایرکتوری داده‌شده، به جای درخت کد. .TP \fB\-X showrefcount\fR چاپ تعداد کل ارجاعات و تعداد بلوک‌های حافظه استفاده‌شده در هنگام پایان برنامه یا پس از هر عبارت در مفسر تعاملی. این گزینه فقط در بیلدهای اشکال‌زدایی کار می‌کند. .TP \fB\-X tracemalloc\fR شروع ردیابی تخصیص‌های حافظه پایتون با استفاده از ماژول tracemalloc. به‌طور پیش‌فرض، فقط جدیدترین فریم در یک ردیابی پشته ذخیره می‌شود. از \fB\-X tracemalloc=\fINFRAME\fR برای شروع ردیابی با محدودیت ردیابی پشته برابر با NFRAME فریم استفاده کنید. .TP \fB\-X utf8\fR فعال کردن حالت UTF-8 برای رابط‌های سیستم‌عامل، با لغو حالت پیش‌فرض آگاه از لوکال. گزینه \fB\-X utf8=0\fR به‌طور صریح حالت UTF-8 را غیرفعال می‌کند (حتی زمانی که در غیر این صورت به‌طور خودکار فعال می‌شد). برای جزئیات بیشتر \fBPYTHONUTF8\fR را ببینید. .TP \fB\-X warn_default_encoding\fR فعال‌سازی صدور اختیاری EncodingWarning برای 'encoding=None'. .RE .TP .B \-x رد شدن از خط اول سورس. این گزینه فقط برای یک ترفند خاص DOS در نظر گرفته شده است. هشدار: شماره خطوط در پیام‌های خطا یکی تفاوت خواهند داشت! .SH "رابط مفسر (INTERPRETER INTERFACE)" رابط مفسر شبیه به پوسته یونیکس (UNIX shell) است: هنگامی که با ورودی استانداردی که به یک دستگاه tty متصل است فراخوانی شود، اعلان دستورات را نمایش داده و آن‌ها را تا زمان خواندن EOF اجرا می‌کند؛ هنگامی که با یک نام فایل به عنوان آرگومان یا با یک فایل به عنوان ورودی استاندارد فراخوانی شود، یک .I اسکریپت را از آن فایل خوانده و اجرا می‌کند؛ هنگامی که با .B \-c .IR command فراخوانی شود، عبارت(های) پایتون ارائه‌شده به عنوان .IR command را اجرا می‌کند. در اینجا .I command می‌تواند شامل چندین عبارت باشد که با خطوط جدید (newline) از هم جدا شده‌اند. فاصله‌های خالی ابتدای خطوط (whitespace) در عبارات پایتون اهمیت اساسی دارند! در حالت غیرتعاملی، کل ورودی پیش از اجرا تجزیه می‌شود. .PP در صورت وجود، نام اسکریپت و آرگومان‌های اضافی پس از آن در متغیر پایتون .IR sys.argv به اسکریپت ارسال می‌شوند که فهرستی از رشته‌ها است (برای دسترسی به آن ابتدا باید دستور .I import sys را اجرا کنید). اگر هیچ نام اسکریپتی داده نشود، .I sys.argv[0] یک رشته خالی خواهد بود؛ اگر از گزینه .B \-c استفاده شود، .I sys.argv[0] شامل رشته .I '\-c' خواهد بود. توجه داشته باشید گزینه‌هایی که توسط خود مفسر پایتون تفسیر می‌شوند در .IR sys.argv قرار نمی‌گیرند. .PP در حالت تعاملی، اعلان اصلی «>>>» است؛ اعلان ثانویه (که هنگام ناقص بودن یک دستور ظاهر می‌شود) «...» است. اعلان‌ها را می‌توان با مقداردهی به .I sys.ps1 یا .IR sys.ps2 تغییر داد. مفسر هنگامی که یک EOF را در اعلان بخواند خارج می‌شود. هنگامی که یک استثنای مدیریت‌نشده رخ دهد، ردیابی پشته چاپ می‌شود و کنترل به اعلان اصلی بازمی‌گردد؛ در حالت غیرتعاملی، مفسر پس از چاپ ردیابی پشته خارج می‌شود. سیگنال وقفه باعث برانگیخته شدن استثنای .I Keyboard\%Interrupt می‌شود؛ سایر سیگنال‌های یونیکس به دام انداخته نمی‌شوند (به جز SIGPIPE که گاهی به نفع استثنای .I IOError نادیده گرفته می‌شود). پیام‌های خطا در stderr نوشته می‌شوند. .SH "فایل‌ها و دایرکتوری‌ها (FILES AND DIRECTORIES)" این موارد بسته به رسوم نصب محلی ممکن است متفاوت باشند؛ {prefix}$ و {exec_prefix}$ وابسته به نصب هستند و باید مطابق با نرم‌افزارهای گنو تفسیر شوند؛ ممکن است هر دو یکسان باشند. مقدار پیش‌فرض برای هر دو \fI/usr/local\fP است. .IP \fI${exec_prefix}/bin/python\fP مکان توصیه‌شده برای مفسر. .PP .I ${prefix}/lib/python .br .I ${exec_prefix}/lib/python .RS مکان‌های توصیه‌شده برای دایرکتوری‌های حاوی ماژول‌های استاندارد. .RE .PP .I ${prefix}/include/python .br .I ${exec_prefix}/include/python .RS مکان‌های توصیه‌شده برای دایرکتوری‌های حاوی فایل‌های سرایند (include) مورد نیاز برای توسعه الحاقات پایتون و تعبیه مفسر. .RE .SH "متغیرهای محیطی (ENVIRONMENT VARIABLES)" .IP PYTHONASYNCIODEBUG اگر این متغیر محیطی روی یک رشته غیرخالی تنظیم شود، حالت اشکال‌زدایی ماژول asyncio را فعال می‌کند. .IP PYTHON_BASIC_REPL اگر این متغیر روی هر مقداری تنظیم شود، مفسر تلاشی برای بارگذاری REPL مبتنی بر پایتون که به curses و readline نیاز دارد نخواهد کرد و در عوض از REPL سنتی مبتنی بر تجزیه‌کننده استفاده می‌کند. .IP PYTHONBREAKPOINT اگر این متغیر محیطی روی 0 تنظیم شود، اشکال‌زدای پیش‌فرض را غیرفعال می‌کند. همچنین می‌تواند روی شیء قابل فراخوانی اشکال‌زدای انتخابی شما تنظیم شود. .IP PYTHONCOERCECLOCALE اگر روی مقدار 0 تنظیم شود، باعث می‌شود برنامه اصلی خط فرمان پایتون از تبدیل اجباری لوکال‌های قدیمی مبتنی بر ASCII در C و POSIX به جایگزین توانمندتر مبتنی بر UTF-8 صرف‌نظر کند. .IP PYTHON_COLORS اگر این متغیر روی 1 تنظیم شود، مفسر انواع مختلف خروجی را رنگی می‌کند. تنظیم آن روی 0 این رفتار را غیرفعال می‌سازد. .IP PYTHON_CPU_COUNT اگر این متغیر روی یک عدد صحیح مثبت تنظیم شود، مقادیر بازگشتی \fIos.cpu_count\fR و \fIos.process_cpu_count\fR را بازنویسی می‌کند. .IP همچنین گزینه \fB\-X cpu_count\fR را ببینید. .IP PYTHONDEBUG اگر روی یک رشته غیرخالی تنظیم شود، معادل مشخص کردن گزینه \fB\-d\fP است. اگر روی یک عدد صحیح تنظیم شود، معادل چندین بار مشخص کردن \fB\-d\fP خواهد بود. .IP PYTHONEXECUTABLE اگر این متغیر محیطی تنظیم شود، مقدار .IB sys.argv[0] به جای مقداری که از زمان اجرای C دریافت شده، روی مقدار آن تنظیم خواهد شد. فقط روی Mac OS X کار می‌کند. .IP PYTHONFAULTHANDLER اگر این متغیر محیطی روی یک رشته غیرخالی تنظیم شود، در زمان راه‌اندازی .IR faulthandler.enable() فراخوانی می‌شود: یک گرداننده برای سیگنال‌های SIGSEGV، SIGFPE، SIGABRT، SIGBUS و SIGILL نصب می‌کند تا در هنگام بروز خرابی، ردیابی پشته پایتون را ثبت کند. .IP این متغیر معادل گزینه \fB\-X faulthandler\fP است. .IP PYTHON_FROZEN_MODULES اگر این متغیر روی \fBon\fR یا \fBoff\fR تنظیم شود، تعیین می‌کند که آیا ماژول‌های منجمد توسط سازوکار وارد کردن (import) نادیده گرفته شوند یا خیر. مقدار \fBon\fR به این معنی است که آن‌ها وارد می‌شوند و \fBoff\fR به این معنی است که نادیده گرفته می‌شوند. پیش‌فرض در بیلدهای غیر اشکال‌زدایی (حالت معمول) \fBon\fR و برای بیلدهای اشکال‌زدایی \fBoff\fR است. .IP همچنین گزینه \fB\-X frozen_modules\fR را ببینید. .IP PYTHON_GIL اگر این متغیر روی 1 تنظیم شود، قفل سراسری مفسر (GIL) به‌صورت اجباری فعال خواهد شد. تنظیم آن روی 0، GIL را به‌صورت اجباری خاموش می‌کند. تنها در بیلدهایی که با \fB\-\-disable\-gil\fP پیکربندی شده‌اند در دسترس است. .IP این متغیر معادل گزینه \fB\-X gil\fR است. .IP PYTHON_HISTORY از این متغیر محیطی می‌توان برای تنظیم مکان یک فایل تاریخچه استفاده کرد (در یونیکس به‌طور پیش‌فرض \fI~/.python_history\fP است). .IP PYTHONNODEBUGRANGES اگر این متغیر تنظیم شود، درج جدول‌های نگاشت اطلاعات مکانی اضافی (خط پایان، آفست ستون شروع و آفست ستون پایان) به هر دستورالعمل در اشیاء کد را غیرفعال می‌کند. این متغیر زمانی مفید است که اشیاء کد و فایل‌های pyc کوچکتری مد نظر باشد و همچنین نشانگرهای بصری اضافی مکان در هنگام نمایش ردیابی پشته توسط مفسر را سرکوب می‌نماید. .IP PYTHONDONTWRITEBYTECODE اگر روی یک رشته غیرخالی تنظیم شود، معادل مشخص کردن گزینه \fB\-B\fP است (تلاشی برای نوشتن فایل‌های .I .pyc نمی‌کند). .IP PYTHONDEVMODE اگر این متغیر محیطی روی یک رشته غیرخالی تنظیم شود، «حالت توسعه» پایتون را فعال می‌کند که بررسی‌های زمان اجرای بیشتری را که برای فعال بودن پیش‌فرض بسیار سنگین هستند، معرفی می‌نماید. .IP این متغیر معادل گزینه \fB\-X dev\fR است. .IP PYTHONHASHSEED اگر این متغیر روی "random" تنظیم شود، از یک مقدار تصادفی به عنوان سید برای هش‌های اشیاء str و bytes استفاده می‌شود. اگر PYTHONHASHSEED روی یک مقدار عدد صحیح تنظیم شود، به عنوان یک سید ثابت برای تولید ()hash انواعی که تحت پوشش تصادفی‌سازی هش هستند استفاده می‌شود. هدف آن امکان‌پذیر ساختن هشینگ تکرارپذیر است، مانند آزمون‌های داخلی برای خود مفسر، یا اجازه دادن به خوشه‌ای از فرآیندهای پایتون برای به اشتراک گذاشتن مقادیر هش. این عدد صحیح باید یک عدد ده‌دهی در محدوده [0,4294967295] باشد. مشخص کردن مقدار 0 تصادفی‌سازی هش را غیرفعال می‌کند. .IP PYTHONHOME مکان کتابخانه‌های استاندارد پایتون را تغییر می‌دهد. به‌طور پیش‌فرض، کتابخانه‌ها در {prefix}/lib/python$ و {exec_prefix}/lib/python$ جستجو می‌شوند که در آن {prefix}$ و {exec_prefix}$ دایرکتوری‌های وابسته به نصب هستند و پیش‌فرض هر دو \fI/usr/local\fP است. هنگامی که $PYTHONHOME روی یک دایرکتوری منفرد تنظیم شود، مقدار آن جایگزین هر دو متغیر {prefix}$ و {exec_prefix}$ می‌شود. برای تعیین مقادیر مختلف برای آن‌ها، $PYTHONHOME را روی {prefix}:${exec_prefix}$ تنظیم کنید. .IP PYTHONINSPECT اگر روی یک رشته غیرخالی تنظیم شود، معادل مشخص کردن گزینه \fB\-i\fP است. .IP PYTHONINTMAXSTRDIGITS حداکثر تعداد ارقام را در یک مقدار int هنگام تبدیل از یک رشته و هنگام تبدیل مجدد یک int به str محدود می‌کند. مقدار 0 این محدودیت را غیرفعال می‌سازد. تبدیلات به مبناها یا از مبناهای 2، 4، 8، 16 و 32 هرگز محدود نمی‌شوند. .IP این متغیر معادل گزینه \fB\-X int_max_str_digits=\fINUMBER\fR است. .IP PYTHONIOENCODING اگر این متغیر پیش از اجرای مفسر تنظیم شود، کدگذاری استفاده‌شده برای stdin/stdout/stderr را با نحو زیر بازنویسی می‌کند: .IB encodingname ":" errorhandler بخش .IB errorhandler اختیاری است و همان معنایی را دارد که در str.encode دارد. برای stderr، بخش .IB errorhandler نادیده گرفته می‌شود؛ گرداننده آن همیشه \'backslashreplace\' خواهد بود. .IP PYTHONMALLOC تخصیص‌دهنده‌های حافظه پایتون را تنظیم کرده و/یا قلاب‌های اشکال‌زدایی را نصب می‌کند. تخصیص‌دهنده‌های حافظه موجود عبارتند از .IR malloc و .IR pymalloc . قلاب‌های اشکال‌زدایی موجود عبارتند از .IR debug ، .IR malloc_debug و .IR pymalloc_debug . .IP هنگامی که پایتون در حالت اشکال‌زدایی کامپایل شده باشد، پیش‌فرض .IR pymalloc_debug است و قلاب‌های اشکال‌زدایی به‌طور خودکار استفاده می‌شوند. در غیر این صورت، پیش‌فرض .IR pymalloc است. .IP PYTHONMALLOCSTATS اگر روی یک رشته غیرخالی تنظیم شود، پایتون در هر بار ایجاد یک میدان شیء (object arena) جدید pymalloc و در هنگام خاموش شدن، آمار تخصیص‌دهنده حافظه pymalloc را چاپ می‌کند. .IP اگر از متغیر محیطی .RB $ PYTHONMALLOC برای اجبار به استفاده از تخصیص‌دهنده .BR malloc (3) کتابخانه C استفاده شود، یا اگر پایتون بدون پشتیبانی از pymalloc پیکربندی شده باشد، این متغیر نادیده گرفته می‌شود. .IP PYTHONNOUSERSITE اگر روی یک رشته غیرخالی تنظیم شود، معادل مشخص کردن گزینه \fB\-s\fP است (دایرکتوری site کاربر را به sys.path اضافه نکن). .IP PYTHONOPTIMIZE اگر روی یک رشته غیرخالی تنظیم شود، معادل مشخص کردن گزینه \fB\-O\fP است. اگر روی یک عدد صحیح تنظیم شود، معادل چندین بار مشخص کردن \fB\-O\fP خواهد بود. .IP PYTHONPATH مسیر جستجوی پیش‌فرض برای فایل‌های ماژول را گسترش می‌دهد. قالب آن مشابه متغیر PATH$ در پوسته است: یک یا چند مسیر دایرکتوری که با دونقطه (:) از هم جدا شده‌اند. دایرکتوری‌های ناموجود به‌طور خاموش نادیده گرفته می‌شوند. مسیر جستجوی پیش‌فرض وابسته به نصب است، اما عموماً با {prefix}/lib/python$ آغاز می‌شود (متغیر PYTHONHOME در بالا را ببینید). مسیر جستجوی پیش‌فرض همواره به انتهای $PYTHONPATH پیوست می‌شود. اگر یک آرگومان اسکریپت داده شود، دایرکتوری حاوی اسکریپت در مسیر، جلوتر از $PYTHONPATH درج می‌گردد. مسیر جستجو را می‌توان از درون برنامه پایتون به صورت متغیر .IR sys.path دستکاری کرد. .IP PYTHON_PERF_JIT_SUPPORT اگر این متغیر روی یک مقدار غیرصفر تنظیم شود، پشتیبانی از پروفایلر perf لینوکس را فعال می‌کند تا فراخوانی‌های پایتون با استفاده از اطلاعات DWARF توسط آن شناسایی شوند. تنظیم آن روی 0 این قابلیت را غیرفعال می‌کند. .IP همچنین گزینه \fB\-X perf_jit\fR را ببینید. .IP PYTHONPERFSUPPORT اگر این متغیر روی یک مقدار غیرصفر تنظیم شود، پشتیبانی از پروفایلر perf لینوکس را فعال می‌کند تا فراخوانی‌های پایتون توسط آن شناسایی شوند. تنظیم آن روی 0 این قابلیت را غیرفعال می‌کند. .IP همچنین گزینه \fB\-X perf\fR را ببینید. .IP PYTHONPLATLIBDIR مقدار sys.platlibdir را بازنویسی می‌کند. .IP PYTHONPROFILEIMPORTTIME اگر این متغیر محیطی روی \fB1\fR تنظیم شود، پایتون مدت زمان صرف‌شده برای هر import را نشان می‌دهد. اگر روی \fB2\fR تنظیم شود، پایتون خروجی مربوط به ماژول‌های واردشده‌ای را که قبلاً بارگذاری شده‌اند نیز لحاظ می‌کند. این متغیر دقیقاً معادل تنظیم \fB\-X importtime\fP در خط فرمان است. .IP PYTHONPYCACHEPREFIX اگر این متغیر تنظیم شود، پایتون فایل‌های \fB.pyc\fR را در یک درخت دایرکتوری آینه‌ای در این مسیر می‌نویسد، نه در دایرکتوری‌های \fB__pycache__\fR در درخت سورس. .IP این متغیر معادل مشخص کردن گزینه \fB\-X pycache_prefix=\fIPATH\fR است. .IP PYTHONSAFEPATH اگر روی یک رشته غیرخالی تنظیم شود، یک مسیر بالقوه ناامن مانند دایرکتوری جاری، دایرکتوری اسکریپت یا یک رشته خالی را به‌طور خودکار به ابتدای \fBsys.path\fP اضافه نمی‌کند. همچنین گزینه \fB\-P\fP را ببینید. .IP PYTHONSTARTUP اگر نام یک فایل قابل خواندن باشد، دستورات پایتون موجود در آن فایل پیش از نمایش اولین اعلان در حالت تعاملی اجرا می‌شوند. این فایل در همان فضای نامی اجرا می‌شود که دستورات تعاملی در آن اجرا می‌گردند، به طوری که اشیاء تعریف‌شده یا واردشده در آن را می‌توان بدون ذکر پیشوند در جلسه تعاملی استفاده کرد. همچنین می‌توانید اعلان‌های .I sys.ps1 و .I sys.ps2 را در این فایل تغییر دهید. .IP PYTHONTRACEMALLOC اگر این متغیر محیطی روی یک رشته غیرخالی تنظیم شود، ردیابی تخصیص‌های حافظه پایتون را با استفاده از ماژول tracemalloc آغاز می‌کند. .IP مقدار این متغیر، حداکثر تعداد فریم‌های ذخیره‌شده در یک ردیابی پشته از یک رد است. به عنوان مثال، .IB PYTHONTRACEMALLOC=1 تنها جدیدترین فریم را ذخیره می‌کند. .IP PYTHONUNBUFFERED اگر روی یک رشته غیرخالی تنظیم شود، معادل مشخص کردن گزینه \fB\-u\fP است. .IP PYTHONUSERBASE دایرکتوری پایه کاربر را مشخص می‌کند، که برای محاسبه مسیر دایرکتوری .IR site\-packages کاربر و مسیرهای نصب برای .IR "python \-m pip install \-\-user" استفاده می‌شود. .IP PYTHONUTF8 اگر روی 1 تنظیم شود، «حالت UTF-8» پایتون را فعال می‌کند. تنظیم آن روی 0 این حالت را غیرفعال می‌سازد. .IP PYTHONVERBOSE اگر روی یک رشته غیرخالی تنظیم شود، معادل مشخص کردن گزینه \fB\-v\fP است. اگر روی یک عدد صحیح تنظیم شود، معادل چندین بار مشخص کردن \fB\-v\fP خواهد بود. .IP PYTHONWARNDEFAULTENCODING اگر این متغیر محیطی روی یک رشته غیرخالی تنظیم شود، در صورت استفاده از کدگذاری پیش‌فرض وابسته به لوکال، یک .I EncodingWarning صادر می‌کند. .IP PYTHONWARNINGS اگر روی یک رشته جداشده با کاما تنظیم شود، معادل مشخص کردن گزینه \fB\-W\fP برای هر مقدار به صورت جداگانه است. .SS "متغیرهای حالت اشکال‌زدایی (Debug-mode variables)" تنظیم این متغیرها تنها در بیلد اشکال‌زدایی (debug) پایتون اثرگذار است؛ یعنی اگر پایتون با گزینه ساخت \fB\-\-with\-pydebug\fP پیکربندی شده باشد. .IP PYTHONDUMPREFS اگر این متغیر محیطی تنظیم شود، پایتون اشیاء و تعداد ارجاعاتی را که پس از خاموش شدن مفسر هنوز زنده مانده‌اند، تخلیه (dump) می‌کند. .IP PYTHONDUMPREFSFILE اگر تنظیم شود، پایتون اشیاء و تعداد ارجاعاتی را که پس از خاموش شدن مفسر هنوز زنده مانده‌اند، درون فایلی در مسیری که به عنوان مقدار این متغیر محیطی داده شده است، ذخیره می‌کند. .IP PYTHON_PRESITE اگر این متغیر روی یک ماژول تنظیم شود، آن ماژول در اوایل چرخه حیات مفسر، پیش از اجرای ماژول \fIsite\fR و پیش از ایجاد ماژول \fI__main__\fR وارد می‌شود. این متغیر فقط در بیلدهای اشکال‌زدایی کار می‌کند. .IP این متغیر معادل گزینه \fB\-X presite=\fImodule\fR است. .SH "نویسنده (AUTHOR)" بنیاد نرم‌افزار پایتون: https://www.python.org/psf .SH "منابع اینترنتی (INTERNET RESOURCES)" وب‌سایت اصلی: https://www.python.org .br مستندات: https://docs.python.org .br منابع توسعه‌دهندگان: https://devguide.python.org .br دریافت‌ها: https://www.python.org/downloads .br مخزن ماژول‌ها: https://pypi.org .br گروه‌های خبری: comp.lang.python, comp.lang.python.announce .SH "مجوز (LICENSING)" پایتون تحت یک مجوز متن‌باز توزیع شده است. برای اطلاعات درباره شرایط و ضوابط دسترسی و استفاده از پایتون و سلب هرگونه ضمانت (DISCLAIMER OF ALL WARRANTIES)، فایل "LICENSE" را در بسته توزیع سورس پایتون ببینید.