PMPYTHON(1) General Commands Manual PMPYTHON(1)

pmpython - اجرای اسکریپت پایتون با استفاده از مفسر ترجیحی پایتون

pmpython [python-args-and-script]

دستور pmpython روشی را برای اجرای اسکریپت‌های پایتون با استفاده از یک مفسر پایتونِ قابل‌سفارشی‌سازی فراهم می‌کند، به‌جای آن‌که نام یک نسخهٔ خاص از پایتون درون هر اسکریپت گنجانده شود.

این قابلیت می‌تواند مفید باشد چرا که اجازه می‌دهد کدهای پایتونِ مستقل از نسخه در هر مکانی اجرا شوند. تمامی ماژول‌های پایتونِ ارائه‌شده همراه با PCP از نسخه‌های 2.6 و بالاتر (در سری python2) و 3.3 و بالاتر (در سری نسخه‌های python3) پشتیبانی می‌کنند.

با توجه به این‌که اسکریپت‌های پایش و جمع‌آوری پایتون در PCP نسبتاً ساده هستند (به ماژول‌های جدید، ویژگی‌های زبانی تازه و غیره نیازی ندارند)، تضمین عملکرد صحیح آن‌ها روی تمامی نسخه‌های پایتونِ ذکرشده در بالا امکان‌پذیر بوده است.

با این حال، نام مفسر پایتون همیشه یکسان نیست؛ از این رو، معمول است که اسکریپت‌های پایتونِ PCP از یک خط “shebang” برای راه‌اندازی غیرمستقیم مفسر python به شکل زیر استفاده کنند:


#!/usr/bin/env pmpython

دستور env(1) برای یافتن مسیر صحیح فایل اجرایی pmpython از متغیر $PATH کاربر استفاده می‌شود.

به‌طور پیش‌فرض، نام مفسر پایتون از مقدار متغیر محیطی $PCP_PYTHON_PROG (در صورت تنظیم بودن) و در غیر این صورت از فایل /etc/pcp.conf به‌دست می‌آید. حالت دوم مورد معمول‌تری است که در آن مقدار بر اساس بررسی‌های اولیه از پلتفرم در زمان ساخت بسته‌های PCP تعیین شده و در تمامی نسخه‌های اخیر PCP (برای پلتفرم‌هایی که از آن پشتیبانی می‌کنند)، استفاده از python3 را ترجیح می‌دهد.

این سازوکار امکان استفاده از یک نام مناسب را برای مفسر پایتون به‌جای نسخهٔ ثابت و تغییرناپذیر فراهم می‌کند، در حالی که کاربر همچنان می‌تواند مفسر پایتون را به‌صورت زیر بازنویسی کند:


$ PCP_PYTHON_PROG=python3 pmpython --version
Python 3.4.2
$ PCP_PYTHON_PROG=python2 pmpython --version
Python 2.7.9

این روش برای ارائهٔ اسکریپت‌های یکسان در پلتفرم‌های گوناگون و همچنین آزمودن نسخه‌های مختلف پایتون با یک اسکریپت واحد بسیار کاربردی است (به‌عنوان مثال در شرایطی که چند نسخه از پایتون نصب است، می‌توان متغیر PCP_PYTHON_PROG را در محیط محلی تنظیم کرد تا بر تنظیمات سراسری اولویت یابد).

دستور pmpython جایگزینی برای ابزار قدیمی‌تر با عملکردی مشابه، یعنی pcp-python(1) است.

متغیرهای محیطی با پیشوند PCP_ برای پارامتریک‌سازی نام فایل‌ها و دایرکتوری‌های مورداستفادهٔ PCP به‌کار می‌روند. در هر نصب، فایل /etc/pcp.conf حاوی مقادیر محلی برای این متغیرها است. متغیر $PCP_CONF ممکن است برای تعیین یک فایل پیکربندی جایگزین استفاده شود، همان‌طور که در pcp.conf(5) شرح داده شده است.

env(1)، pcp(1)، pcp-python(1) و PCPIntro(1).

PCP Performance Co-Pilot