| PYTHON3.14(1) | General Commands Manual | PYTHON3.14(1) |
نام (NAME)
python3.14 - یک زبان برنامهنویسی تفسیری، تعاملی و شیگرا
خلاصه دستور (SYNOPSIS)
python3.14 [ -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 ]
توضیحات (DESCRIPTION)
پایتون یک زبان برنامهنویسی تفسیری، تعاملی و شیگرا است که قدرت چشمگیر را با ساختار نحوی بسیار واضح ترکیب میکند. برای آشنایی با برنامهنویسی در پایتون، به «آموزش پایتون» (Python Tutorial) مراجعه کنید. «مرجع کتابخانه پایتون» (Python Library Reference) انواع توکار و استاندارد، ثابتها، توابع و ماژولها را مستندسازی میکند. در نهایت، «دفترچه راهنمای مرجع پایتون» (Python Reference Manual) نحو و معناشناسی زبان اصلی را با جزئیات کامل (شاید بیش از حد) شرح میدهد. (این مستندات را میتوان از طریق بخش منابع اینترنتی (INTERNET RESOURCES) در ادامه پیدا کرد؛ همچنین ممکن است روی سیستم شما نیز نصب شده باشند.)
قدرت پایه پایتون را میتوان با ماژولهای اختصاصی نوشتهشده به زبانهای C یا ++C گسترش داد. در بیشتر سیستمها، چنین ماژولهایی را میتوان بهصورت پویا بارگذاری کرد. پایتون همچنین به عنوان یک زبان الحاقی برای برنامههای موجود قابل انطباق است. برای نکات بیشتر به مستندات داخلی مراجعه کنید.
مستندات مربوط به ماژولها و بستههای پایتون نصبشده را میتوان با اجرای برنامه pydoc مشاهده کرد.
گزینههای خط فرمان (COMMAND LINE OPTIONS)
- -B
- هنگام وارد کردن ماژولها (import)، فایلهای .pyc را روی دیسک ننویس. همچنین PYTHONDONTWRITEBYTECODE را ببینید.
- -b
- هشدارهایی درباره str(bytes_instance)، str(bytearray_instance) و مقایسه bytes/bytearray با str صادر میکند (-bb: به جای هشدار، خطا صادر میکند).
- -c command
- دستور مورد نظر برای اجرا را مشخص میکند (بخش بعدی را ببینید). این گزینه فهرست گزینهها را خاتمه میدهد (گزینههای بعدی به عنوان آرگومان به این دستور ارسال میشوند).
- --check-hash-based-pycs mode
- نحوه ارزیابی بهروز بودن فایلهای pyc. مبتنی بر هش را توسط پایتون پیکربندی میکند.
- -d
- خروجی اشکالزدایی تجزیهکننده (parser) را فعال میکند (فقط برای افراد متخصص، بسته به گزینههای زمان کامپایل).
- -E
- متغیرهای محیطی مانند PYTHONPATH و PYTHONHOME را که رفتار مفسر را تغییر میدهند، نادیده میگیرد.
- -h , -? , --help
- راهنمای استفاده از فایل اجرایی مفسر را چاپ کرده و خارج میشود.
- --help-env
- راهنمای متغیرهای محیطی مختص پایتون را چاپ کرده و خارج میشود.
- --help-xoptions
- راهنمای گزینههای -X مختص پیادهسازی را چاپ کرده و خارج میشود.
- --help-all
- اطلاعات کامل نحوه استفاده را چاپ کرده و خارج میشود.
- -i
- هنگامی که یک اسکریپت به عنوان آرگومان اول ارسال میشود یا از گزینه -c استفاده میشود، پس از اجرای اسکریپت یا دستور، وارد حالت تعاملی میشود. این حالت فایل $PYTHONSTARTUP را نمیخواند. این ویژگی میتواند برای بررسی متغیرهای سراسری یا ردیابی پشته (stack trace) در زمانی که اسکریپت با استثنا روبرو میشود مفید باشد.
- -I
- پایتون را در حالت ایزوله (جداسازیشده) اجرا میکند. این گزینه شامل -E، -P و -s نیز میشود. در حالت ایزوله، sys.path نه شامل دایرکتوری اسکریپت و نه شامل دایرکتوری site-packages کاربر است. تمام متغیرهای محیطی *PYTHON نیز نادیده گرفته میشوند. محدودیتهای بیشتری ممکن است برای جلوگیری از تزریق کد مخرب توسط کاربر اعمال شود.
- -m module-name
- مسیرهای sys.path را برای ماژول نامبرده جستجو کرده و فایل .py متناظر را به عنوان یک اسکریپت اجرا میکند. این گزینه فهرست گزینهها را خاتمه میدهد (گزینههای بعدی به عنوان آرگومان به ماژول ارسال میشوند).
- -O
- دستورات assert و هر کدی که به مقدار __debug__ مشروط است را حذف میکند؛ با افزودن opt-1. قبل از پسوند pyc. نام فایلهای کامپایلشده (بایتکد) را اصلاح میکند.
- -OO
- کارهای گزینه -O را انجام داده و علاوه بر آن docstringها را نیز نادیده میگیرد؛ با افزودن opt-2. قبل از پسوند pyc. نام فایلهای کامپایلشده (بایتکد) را تغییر میدهد.
- -P
- مسیرهای بالقوه ناامن مانند دایرکتوری جاری، دایرکتوری اسکریپت یا یک رشته خالی را بهطور خودکار به ابتدای sys.path اضافه نمیکند. همچنین متغیر محیطی PYTHONSAFEPATH را ببینید.
- -q
- پیامهای نسخه و حق نشر را چاپ نمیکند. این پیامها در حالت غیرتعاملی نیز سرکوب میشوند.
- -R
- تصادفیسازی هش را فعال میکند. این گزینه تنها در صورتی اثر دارد که متغیر محیطی PYTHONHASHSEED روی 0 تنظیم شده باشد، زیرا تصادفیسازی هش بهطور پیشفرض فعال است.
- -s
- دایرکتوری site کاربر را به sys.path اضافه نمیکند.
- -S
- وارد کردن ماژول site و دستکاریهای وابسته به site در sys.path را غیرفعال میکند. همچنین در صورتی که site بعداً بهطور صریح وارد شود، این دستکاریها را غیرفعال میسازد.
- -u
- جریانهای stdout و stderr را مجبور به عملکرد بدون بافر (unbuffered) میکند. این گزینه اثری بر جریان stdin ندارد.
- -v
- هر بار که ماژولی مقداردهی اولیه میشود، پیامی چاپ میکند که محل بارگذاری آن (نام فایل یا ماژول توکار) را نشان میدهد. اگر دو بار داده شود، برای هر فایلی که در حین جستجوی یک ماژول بررسی میشود، پیامی چاپ میکند. همچنین اطلاعاتی درباره پاکسازی ماژولها هنگام خروج ارائه میدهد.
- -V , --version
- شماره نسخه پایتون فایل اجرایی را چاپ کرده و خارج میشود. اگر دو بار داده شود، اطلاعات بیشتری درباره ساخت برنامه چاپ میکند.
- -W argument
- کنترل هشدارها. سازوکار هشدارهای پایتون بهطور پیشفرض پیامهای هشدار را در sys.stderr چاپ میکند.
سادهترین تنظیمات یک اقدام خاص را بدون قید و شرط بر تمام هشدارهای صادرشده توسط یک فرآیند اعمال میکنند (حتی آنهایی که بهطور پیشفرض نادیده گرفته میشوند):
-Wdefault # یکبار هشدار به ازای هر محل فراخوانی -Werror # تبدیل هشدارها به استثنا (خطا) -Walways # هشدار در هر بار رخ دادن -Wall # همانند -Walways -Wmodule # یکبار هشدار به ازای هر ماژول فراخواننده -Wonce # یکبار هشدار به ازای هر فرآیند پایتون -Wignore # هرگز هشدار نده
نام اقدامها را میتوان در صورت تمایل کوتاه کرد و مفسر آنها را به نام اقدام مناسب تفسیر میکند. به عنوان مثال، -Wi مشابه -Wignore است.
شکل کامل این آرگومان به صورت زیر است: action:message:category:module:lineno
فیلدهای خالی با همه مقادیر مطابقت دارند؛ فیلدهای خالی پایانی را میتوان حذف کرد. به عنوان مثال -W ignore::DeprecationWarning تمام هشدارهای DeprecationWarning را نادیده میگیرد.
فیلد action همانطور که در بالا توضیح داده شد عمل میکند، اما فقط برای هشدارهایی اعمال میشود که با فیلدهای باقیمانده مطابقت داشته باشند.
فیلد message باید با کل پیام هشدار چاپشده مطابقت داشته باشد؛ این مطابقت به حروف بزرگ و کوچک حساس نیست.
فیلد category با رده هشدار مطابقت داده میشود (مانند "DeprecationWarning"). این فیلد باید نام یک کلاس باشد؛ آزمون بررسی میکند که آیا رده هشدار واقعی پیام، زیرکلاسی از رده هشدار مشخصشده است یا خیر.
فیلد module با نام (کامل و واجد شرایط) ماژول مطابقت داده میشود؛ این مطابقت به حروف بزرگ و کوچک حساس است.
فیلد lineno با شماره خط مطابقت دارد، که در آن صفر با تمام شماره خطوط مطابقت دارد و بنابراین معادل حذف شماره خط است.
میتوان چندین گزینه -W را مشخص کرد؛ هنگامی که یک هشدار با بیش از یک گزینه مطابقت داشته باشد، اقدام مربوط به آخرین گزینه مطابقتیافته انجام میشود. گزینههای -W نامعتبر نادیده گرفته میشوند (اگرچه هنگام صدور اولین هشدار، پیامی درباره گزینههای نامعتبر چاپ میشود).
هشدارها را میتوان با استفاده از متغیر محیطی PYTHONWARNINGS و از درون یک برنامه پایتون با استفاده از ماژول warnings نیز کنترل کرد. به عنوان مثال، از تابع ()warnings.filterwarnings میتوان برای اعمال یک عبارت منظم روی پیام هشدار استفاده نمود.
- -X option
- تنظیم گزینه مختص به پیادهسازی. گزینههای زیر در دسترس هستند:
- -X cpu_count=N
- بازنویسی مقدار بازگشتی os.cpu_count(). مقدار -X cpu_count=default عمل بازنویسی را لغو میکند. همچنین PYTHON_CPU_COUNT را ببینید.
- -X dev
- فعال کردن «حالت توسعه» CPython، که بررسیهای زمان اجرای بیشتری را که برای فعال بودن به صورت پیشفرض بسیار سنگین هستند، معرفی میکند. اگر کد درست باشد، خروجی پرحرفتر از حالت پیشفرض نخواهد بود: هشدارهای جدید فقط در صورت شناسایی یک مشکل صادر میشوند. اثرات حالت توسعه:
- افزودن فیلتر هشدار پیشفرض، همانند -W default.
- نصب قلابهای اشکالزدایی روی تخصیصدهندههای حافظه: تابع C به نام ()PyMem_SetupDebugHooks را ببینید.
- فعالسازی ماژول faulthandler برای ثبت ردیابی پشته پایتون در هنگام خرابی برنامه.
- فعال کردن حالت اشکالزدایی asyncio.
- تنظیم ویژگی dev_mode در sys.flags روی True.
- ثبت استثناهای ()close توسط تخریبکننده io.IOBase در لاگ.
- -X importtime
- نمایش مدت زمان صرفشده برای هر import. این گزینه نام ماژول، زمان تجمعی (شامل importهای تو در تو) و زمان اختصاصی خود ماژول (بدون احتساب importهای تو در تو) را نشان میدهد. توجه داشته باشید که خروجی آن در برنامههای چندنخی ممکن است دچار اختلال شود. کاربرد متداول: python3 -X importtime -c 'import asyncio'.
- مقدار -X importtime=2 خروجی بیشتری را فعال میکند که نشان میدهد چه زمانی یک ماژول واردشده قبلاً بارگذاری شده است. در چنین مواردی، رشته cached در هر دو ستون زمان چاپ خواهد شد.
- -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" در لینوکس. همچنین PYTHONPERFSUPPORT=1 را ببینید.
- -X perf_jit
- پشتیبانی از پروفایلر "perf" در لینوکس با پشتیبانی از DWARF. همچنین PYTHON_PERF_JIT_SUPPORT=1 را ببینید.
- -X presite=MOD
- وارد کردن این ماژول پیش از site. همچنین PYTHON_PRESITE را ببینید. این گزینه فقط در بیلدهای اشکالزدایی کار میکند.
- -X pycache_prefix=PATH
- فعالسازی نوشتن فایلهای pyc. در یک درخت موازی با ریشه در دایرکتوری دادهشده، به جای درخت کد.
- -X showrefcount
- چاپ تعداد کل ارجاعات و تعداد بلوکهای حافظه استفادهشده در هنگام پایان برنامه یا پس از هر عبارت در مفسر تعاملی. این گزینه فقط در بیلدهای اشکالزدایی کار میکند.
- -X tracemalloc
- شروع ردیابی تخصیصهای حافظه پایتون با استفاده از ماژول tracemalloc. بهطور پیشفرض، فقط جدیدترین فریم در یک ردیابی پشته ذخیره میشود. از -X tracemalloc=NFRAME برای شروع ردیابی با محدودیت ردیابی پشته برابر با NFRAME فریم استفاده کنید.
- -X utf8
- فعال کردن حالت UTF-8 برای رابطهای سیستمعامل، با لغو حالت پیشفرض آگاه از لوکال. گزینه -X utf8=0 بهطور صریح حالت UTF-8 را غیرفعال میکند (حتی زمانی که در غیر این صورت بهطور خودکار فعال میشد). برای جزئیات بیشتر PYTHONUTF8 را ببینید.
- -X warn_default_encoding
- فعالسازی صدور اختیاری EncodingWarning برای 'encoding=None'.
- -x
- رد شدن از خط اول سورس. این گزینه فقط برای یک ترفند خاص DOS در نظر گرفته شده است. هشدار: شماره خطوط در پیامهای خطا یکی تفاوت خواهند داشت!
رابط مفسر (INTERPRETER INTERFACE)
رابط مفسر شبیه به پوسته یونیکس (UNIX shell) است: هنگامی که با ورودی استانداردی که به یک دستگاه tty متصل است فراخوانی شود، اعلان دستورات را نمایش داده و آنها را تا زمان خواندن EOF اجرا میکند؛ هنگامی که با یک نام فایل به عنوان آرگومان یا با یک فایل به عنوان ورودی استاندارد فراخوانی شود، یک اسکریپت را از آن فایل خوانده و اجرا میکند؛ هنگامی که با -c command فراخوانی شود، عبارت(های) پایتون ارائهشده به عنوان command را اجرا میکند. در اینجا command میتواند شامل چندین عبارت باشد که با خطوط جدید (newline) از هم جدا شدهاند. فاصلههای خالی ابتدای خطوط (whitespace) در عبارات پایتون اهمیت اساسی دارند! در حالت غیرتعاملی، کل ورودی پیش از اجرا تجزیه میشود.
در صورت وجود، نام اسکریپت و آرگومانهای اضافی پس از آن در متغیر پایتون sys.argv به اسکریپت ارسال میشوند که فهرستی از رشتهها است (برای دسترسی به آن ابتدا باید دستور import sys را اجرا کنید). اگر هیچ نام اسکریپتی داده نشود، sys.argv[0] یک رشته خالی خواهد بود؛ اگر از گزینه -c استفاده شود، sys.argv[0] شامل رشته '-c' خواهد بود. توجه داشته باشید گزینههایی که توسط خود مفسر پایتون تفسیر میشوند در sys.argv قرار نمیگیرند.
در حالت تعاملی، اعلان اصلی «>>>» است؛ اعلان ثانویه (که هنگام ناقص بودن یک دستور ظاهر میشود) «...» است. اعلانها را میتوان با مقداردهی به sys.ps1 یا sys.ps2 تغییر داد. مفسر هنگامی که یک EOF را در اعلان بخواند خارج میشود. هنگامی که یک استثنای مدیریتنشده رخ دهد، ردیابی پشته چاپ میشود و کنترل به اعلان اصلی بازمیگردد؛ در حالت غیرتعاملی، مفسر پس از چاپ ردیابی پشته خارج میشود. سیگنال وقفه باعث برانگیخته شدن استثنای KeyboardInterrupt میشود؛ سایر سیگنالهای یونیکس به دام انداخته نمیشوند (به جز SIGPIPE که گاهی به نفع استثنای IOError نادیده گرفته میشود). پیامهای خطا در stderr نوشته میشوند.
فایلها و دایرکتوریها (FILES AND DIRECTORIES)
این موارد بسته به رسوم نصب محلی ممکن است متفاوت باشند؛ {prefix}$ و {exec_prefix}$ وابسته به نصب هستند و باید مطابق با نرمافزارهای گنو تفسیر شوند؛ ممکن است هر دو یکسان باشند. مقدار پیشفرض برای هر دو /usr/local است.
- ${exec_prefix}/bin/python
- مکان توصیهشده برای مفسر.
${prefix}/lib/python<version>
${exec_prefix}/lib/python<version>
${prefix}/include/python<version>
${exec_prefix}/include/python<version>
متغیرهای محیطی (ENVIRONMENT VARIABLES)
- PYTHONASYNCIODEBUG
- اگر این متغیر محیطی روی یک رشته غیرخالی تنظیم شود، حالت اشکالزدایی ماژول asyncio را فعال میکند.
- PYTHON_BASIC_REPL
- اگر این متغیر روی هر مقداری تنظیم شود، مفسر تلاشی برای بارگذاری REPL مبتنی بر پایتون که به curses و readline نیاز دارد نخواهد کرد و در عوض از REPL سنتی مبتنی بر تجزیهکننده استفاده میکند.
- PYTHONBREAKPOINT
- اگر این متغیر محیطی روی 0 تنظیم شود، اشکالزدای پیشفرض را غیرفعال میکند. همچنین میتواند روی شیء قابل فراخوانی اشکالزدای انتخابی شما تنظیم شود.
- PYTHONCOERCECLOCALE
- اگر روی مقدار 0 تنظیم شود، باعث میشود برنامه اصلی خط فرمان پایتون از تبدیل اجباری لوکالهای قدیمی مبتنی بر ASCII در C و POSIX به جایگزین توانمندتر مبتنی بر 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 نصب میکند تا در هنگام بروز خرابی، ردیابی پشته پایتون را ثبت کند.
- این متغیر معادل گزینه -X faulthandler است.
- PYTHON_FROZEN_MODULES
- اگر این متغیر روی on یا off تنظیم شود، تعیین میکند که آیا ماژولهای منجمد توسط سازوکار وارد کردن (import) نادیده گرفته شوند یا خیر. مقدار on به این معنی است که آنها وارد میشوند و off به این معنی است که نادیده گرفته میشوند. پیشفرض در بیلدهای غیر اشکالزدایی (حالت معمول) on و برای بیلدهای اشکالزدایی off است.
- همچنین گزینه -X frozen_modules را ببینید.
- PYTHON_GIL
- اگر این متغیر روی 1 تنظیم شود، قفل سراسری مفسر (GIL) بهصورت اجباری فعال خواهد شد. تنظیم آن روی 0، GIL را بهصورت اجباری خاموش میکند. تنها در بیلدهایی که با --disable-gil پیکربندی شدهاند در دسترس است.
- این متغیر معادل گزینه -X gil است.
- PYTHON_HISTORY
- از این متغیر محیطی میتوان برای تنظیم مکان یک فایل تاریخچه استفاده کرد (در یونیکس بهطور پیشفرض ~/.python_history است).
- PYTHONNODEBUGRANGES
- اگر این متغیر تنظیم شود، درج جدولهای نگاشت اطلاعات مکانی اضافی (خط پایان، آفست ستون شروع و آفست ستون پایان) به هر دستورالعمل در اشیاء کد را غیرفعال میکند. این متغیر زمانی مفید است که اشیاء کد و فایلهای pyc کوچکتری مد نظر باشد و همچنین نشانگرهای بصری اضافی مکان در هنگام نمایش ردیابی پشته توسط مفسر را سرکوب مینماید.
- PYTHONDONTWRITEBYTECODE
- اگر روی یک رشته غیرخالی تنظیم شود، معادل مشخص کردن گزینه -B است (تلاشی برای نوشتن فایلهای .pyc نمیکند).
- PYTHONDEVMODE
- اگر این متغیر محیطی روی یک رشته غیرخالی تنظیم شود، «حالت توسعه» پایتون را فعال میکند که بررسیهای زمان اجرای بیشتری را که برای فعال بودن پیشفرض بسیار سنگین هستند، معرفی مینماید.
- این متغیر معادل گزینه -X dev است.
- PYTHONHASHSEED
- اگر این
متغیر روی
"random" تنظیم
شود، از یک
مقدار
تصادفی به
عنوان سید
برای
هشهای
اشیاء str و bytes
استفاده
میشود.
اگر PYTHONHASHSEED روی یک مقدار عدد صحیح تنظیم شود، به عنوان یک سید ثابت برای تولید ()hash انواعی که تحت پوشش تصادفیسازی هش هستند استفاده میشود. هدف آن امکانپذیر ساختن هشینگ تکرارپذیر است، مانند آزمونهای داخلی برای خود مفسر، یا اجازه دادن به خوشهای از فرآیندهای پایتون برای به اشتراک گذاشتن مقادیر هش.
این عدد صحیح باید یک عدد دهدهی در محدوده [0,4294967295] باشد. مشخص کردن مقدار 0 تصادفیسازی هش را غیرفعال میکند.
- PYTHONHOME
- مکان کتابخانههای استاندارد پایتون را تغییر میدهد. بهطور پیشفرض، کتابخانهها در {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
- حداکثر تعداد ارقام را در یک مقدار int هنگام تبدیل از یک رشته و هنگام تبدیل مجدد یک int به str محدود میکند. مقدار 0 این محدودیت را غیرفعال میسازد. تبدیلات به مبناها یا از مبناهای 2، 4، 8، 16 و 32 هرگز محدود نمیشوند.
- این متغیر معادل گزینه -X int_max_str_digits=NUMBER است.
- PYTHONIOENCODING
- اگر این متغیر پیش از اجرای مفسر تنظیم شود، کدگذاری استفادهشده برای stdin/stdout/stderr را با نحو زیر بازنویسی میکند: encodingname:errorhandler بخش errorhandler اختیاری است و همان معنایی را دارد که در str.encode دارد. برای stderr، بخش errorhandler نادیده گرفته میشود؛ گرداننده آن همیشه ´backslashreplace´ خواهد بود.
- PYTHONMALLOC
- تخصیصدهندههای حافظه پایتون را تنظیم کرده و/یا قلابهای اشکالزدایی را نصب میکند. تخصیصدهندههای حافظه موجود عبارتند از malloc و pymalloc. قلابهای اشکالزدایی موجود عبارتند از debug، malloc_debug و pymalloc_debug.
- هنگامی که پایتون در حالت اشکالزدایی کامپایل شده باشد، پیشفرض pymalloc_debug است و قلابهای اشکالزدایی بهطور خودکار استفاده میشوند. در غیر این صورت، پیشفرض pymalloc است.
- PYTHONMALLOCSTATS
- اگر روی یک رشته غیرخالی تنظیم شود، پایتون در هر بار ایجاد یک میدان شیء (object arena) جدید pymalloc و در هنگام خاموش شدن، آمار تخصیصدهنده حافظه pymalloc را چاپ میکند.
- اگر از متغیر محیطی $PYTHONMALLOC برای اجبار به استفاده از تخصیصدهنده malloc(3) کتابخانه C استفاده شود، یا اگر پایتون بدون پشتیبانی از pymalloc پیکربندی شده باشد، این متغیر نادیده گرفته میشود.
- PYTHONNOUSERSITE
- اگر روی یک رشته غیرخالی تنظیم شود، معادل مشخص کردن گزینه -s است (دایرکتوری site کاربر را به sys.path اضافه نکن).
- PYTHONOPTIMIZE
- اگر روی یک رشته غیرخالی تنظیم شود، معادل مشخص کردن گزینه -O است. اگر روی یک عدد صحیح تنظیم شود، معادل چندین بار مشخص کردن -O خواهد بود.
- PYTHONPATH
- مسیر جستجوی پیشفرض برای فایلهای ماژول را گسترش میدهد. قالب آن مشابه متغیر PATH$ در پوسته است: یک یا چند مسیر دایرکتوری که با دونقطه (:) از هم جدا شدهاند. دایرکتوریهای ناموجود بهطور خاموش نادیده گرفته میشوند. مسیر جستجوی پیشفرض وابسته به نصب است، اما عموماً با {prefix}/lib/python<version>$ آغاز میشود (متغیر PYTHONHOME در بالا را ببینید). مسیر جستجوی پیشفرض همواره به انتهای $PYTHONPATH پیوست میشود. اگر یک آرگومان اسکریپت داده شود، دایرکتوری حاوی اسکریپت در مسیر، جلوتر از $PYTHONPATH درج میگردد. مسیر جستجو را میتوان از درون برنامه پایتون به صورت متغیر sys.path دستکاری کرد.
- PYTHON_PERF_JIT_SUPPORT
- اگر این متغیر روی یک مقدار غیرصفر تنظیم شود، پشتیبانی از پروفایلر perf لینوکس را فعال میکند تا فراخوانیهای پایتون با استفاده از اطلاعات DWARF توسط آن شناسایی شوند. تنظیم آن روی 0 این قابلیت را غیرفعال میکند.
- همچنین گزینه -X perf_jit را ببینید.
- PYTHONPERFSUPPORT
- اگر این متغیر روی یک مقدار غیرصفر تنظیم شود، پشتیبانی از پروفایلر perf لینوکس را فعال میکند تا فراخوانیهای پایتون توسط آن شناسایی شوند. تنظیم آن روی 0 این قابلیت را غیرفعال میکند.
- همچنین گزینه -X perf را ببینید.
- PYTHONPLATLIBDIR
- مقدار sys.platlibdir را بازنویسی میکند.
- PYTHONPROFILEIMPORTTIME
- اگر این متغیر محیطی روی 1 تنظیم شود، پایتون مدت زمان صرفشده برای هر import را نشان میدهد. اگر روی 2 تنظیم شود، پایتون خروجی مربوط به ماژولهای واردشدهای را که قبلاً بارگذاری شدهاند نیز لحاظ میکند. این متغیر دقیقاً معادل تنظیم -X importtime در خط فرمان است.
- PYTHONPYCACHEPREFIX
- اگر این متغیر تنظیم شود، پایتون فایلهای .pyc را در یک درخت دایرکتوری آینهای در این مسیر مینویسد، نه در دایرکتوریهای __pycache__ در درخت سورس.
- این متغیر معادل مشخص کردن گزینه -X pycache_prefix=PATH است.
- PYTHONSAFEPATH
- اگر روی یک رشته غیرخالی تنظیم شود، یک مسیر بالقوه ناامن مانند دایرکتوری جاری، دایرکتوری اسکریپت یا یک رشته خالی را بهطور خودکار به ابتدای sys.path اضافه نمیکند. همچنین گزینه -P را ببینید.
- PYTHONSTARTUP
- اگر نام یک فایل قابل خواندن باشد، دستورات پایتون موجود در آن فایل پیش از نمایش اولین اعلان در حالت تعاملی اجرا میشوند. این فایل در همان فضای نامی اجرا میشود که دستورات تعاملی در آن اجرا میگردند، به طوری که اشیاء تعریفشده یا واردشده در آن را میتوان بدون ذکر پیشوند در جلسه تعاملی استفاده کرد. همچنین میتوانید اعلانهای sys.ps1 و sys.ps2 را در این فایل تغییر دهید.
- PYTHONTRACEMALLOC
- اگر این متغیر محیطی روی یک رشته غیرخالی تنظیم شود، ردیابی تخصیصهای حافظه پایتون را با استفاده از ماژول tracemalloc آغاز میکند.
- مقدار این متغیر، حداکثر تعداد فریمهای ذخیرهشده در یک ردیابی پشته از یک رد است. به عنوان مثال، PYTHONTRACEMALLOC=1 تنها جدیدترین فریم را ذخیره میکند.
- PYTHONUNBUFFERED
- اگر روی یک رشته غیرخالی تنظیم شود، معادل مشخص کردن گزینه -u است.
- PYTHONUSERBASE
- دایرکتوری پایه کاربر را مشخص میکند، که برای محاسبه مسیر دایرکتوری site-packages کاربر و مسیرهای نصب برای python -m pip install --user استفاده میشود.
- PYTHONUTF8
- اگر روی 1 تنظیم شود، «حالت UTF-8» پایتون را فعال میکند. تنظیم آن روی 0 این حالت را غیرفعال میسازد.
- PYTHONVERBOSE
- اگر روی یک رشته غیرخالی تنظیم شود، معادل مشخص کردن گزینه -v است. اگر روی یک عدد صحیح تنظیم شود، معادل چندین بار مشخص کردن -v خواهد بود.
- PYTHONWARNDEFAULTENCODING
- اگر این متغیر محیطی روی یک رشته غیرخالی تنظیم شود، در صورت استفاده از کدگذاری پیشفرض وابسته به لوکال، یک EncodingWarning صادر میکند.
- PYTHONWARNINGS
- اگر روی یک رشته جداشده با کاما تنظیم شود، معادل مشخص کردن گزینه -W برای هر مقدار به صورت جداگانه است.
متغیرهای حالت اشکالزدایی (Debug-mode variables)
تنظیم این متغیرها تنها در بیلد اشکالزدایی (debug) پایتون اثرگذار است؛ یعنی اگر پایتون با گزینه ساخت --with-pydebug پیکربندی شده باشد.
- PYTHONDUMPREFS
- اگر این متغیر محیطی تنظیم شود، پایتون اشیاء و تعداد ارجاعاتی را که پس از خاموش شدن مفسر هنوز زنده ماندهاند، تخلیه (dump) میکند.
- PYTHONDUMPREFSFILE
- اگر تنظیم شود، پایتون اشیاء و تعداد ارجاعاتی را که پس از خاموش شدن مفسر هنوز زنده ماندهاند، درون فایلی در مسیری که به عنوان مقدار این متغیر محیطی داده شده است، ذخیره میکند.
- PYTHON_PRESITE
- اگر این متغیر روی یک ماژول تنظیم شود، آن ماژول در اوایل چرخه حیات مفسر، پیش از اجرای ماژول site و پیش از ایجاد ماژول __main__ وارد میشود. این متغیر فقط در بیلدهای اشکالزدایی کار میکند.
- این متغیر معادل گزینه -X presite=module است.
نویسنده (AUTHOR)
بنیاد نرمافزار پایتون: https://www.python.org/psf
منابع اینترنتی (INTERNET RESOURCES)
وبسایت
اصلی: 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
مجوز (LICENSING)
پایتون تحت یک مجوز متنباز توزیع شده است. برای اطلاعات درباره شرایط و ضوابط دسترسی و استفاده از پایتون و سلب هرگونه ضمانت (DISCLAIMER OF ALL WARRANTIES)، فایل "LICENSE" را در بسته توزیع سورس پایتون ببینید.