.TH PYENV 1 "24 Apr 2023" "PYENV" .SH "نام (NAME)" pyenv \- مدیریت ساده نسخه‌های پایتون .SH "خلاصه دستور (SYNOPSIS)" .B pyenv \fI\, \/\fR[\fI\,\/\fR] .SH "توضیحات (DESCRIPTION)" ابزار pyenv به شما امکان می‌دهد به‌سادگی بین چندین نسخه پایتون جابه‌جا شوید\. این ابزار ساده، بی‌مزاحمت و پیرو سنت یونیکس (UNIX) در ابزارهای تک‌منظوره است که یک کار را به‌خوبی انجام می‌دهند\. .P برای شروع استفاده از pyenv: .IP "1." 3 عبارت زیر را به انتهای \fB$HOME/.bashrc\fR \fBاضافه کنید\fR: .P .RS 15 .nf if command -v pyenv 1>/dev/null 2>&1; then\n eval "$(pyenv init - bash)" \n fi .fi .RE .RS 3 .P .nh افزودن این خط شیم‌ها (shims) را فعال می‌کند. لطفاً اطمینان حاصل کنید این خط در نزدیکی انتهای فایل پیکربندی پوسته قرار گیرد، زیرا در طول مقداردهی اولیه \fBPATH\fR را تغییر می‌دهد\. .hy .TP 13 .B نکته دبیان: تنها فایل \fB~/\.bashrc\fR خود را ویرایش کنید به جای ایجاد .br \fB~/\.bash_profile\fR .P .RS 0 \fBنکته Zsh\fR: فایل \fB~/\.zshrc\fR خود را به جای \fB~/\.bashrc\fR ویرایش کنید\. .P \fBهشدار\fR: اگر سیستم خود را به‌گونه‌ای پیکربندی کرده‌اید که متغیر \fBBASH_ENV\fR به \fB\.bashrc\fR اشاره کند، تقریباً با قطعیت باید خط ذکرشده در بالا را در \fB\.bash_profile\fR قرار دهید و \fBنه\fR در \fB\.bashrc\fR. در غیر این صورت ممکن است رفتارهای عجیبی مشاهده کنید، مانند افتادن \fBpyenv\fR در یک حلقه بی‌پایان. برای جزئیات به #264 در .UR https://github\.com/pyenv/pyenv/issues/264 .UE مراجعه کنید. .RE .RE .IP "2." 3 \fBپوسته خود را دوباره راه‌اندازی کنید تا تغییرات مسیر اعمال شوند\.\fR اکنون می‌توانید استفاده از pyenv را آغاز کنید\. .P .RS 15 exec "$SHELL"\fR .RE .IP "3." 3 \fBنسخه‌های پایتون را در \fB$(pyenv root)/versions\fR نصب کنید\.\fR برای مثال، جهت بارگیری و نصب Python 3\.6\.12 اجرا کنید: .P .RS 15 .B pyenv install 3.6.12\fR .RE .P \fBنکته:\fR اگر نیاز به ارسال گزینه‌های پیکربندی (configure) برای ساخت دارید، لطفاً از متغیر محیطی \fBCONFIGURE_OPTS\fR استفاده کنید. اگر در نصب یک نسخه پایتون با مشکل مواجه شدید، لطفاً صفحه ویکی درباره مشکلات رایج ساخت را ببینید: .UR https://github\.com/pyenv/pyenv/wiki/Common\-build\-problems .UE .P \fBنکته پراکسی\fR: اگر از پراکسی استفاده می‌کنید، متغیرهای محیطی \fBHTTP_PROXY\fR و \fBHTTPS_PROXY\fR را export کنید. .P .SS "توقف استفاده از pyenv" سادگی pyenv باعث می‌شود غیرفعال‌سازی موقت یا حذف کامل آن از سیستم آسان باشد\. برای \fBغیرفعال کردن\fR مدیریت نسخه‌های پایتون توسط pyenv، کافی است خط \fBpyenv init\fR را از پیکربندی راه‌اندازی پوسته خود حذف کنید\. این کار دایرکتوری شیم‌های pyenv را از PATH حذف می‌کند و فراخوانی‌های بعدی مانند \fBpython\fR، همانند پیش از pyenv، نسخه پایتون سیستم را اجرا خواهند کرد\. .IP "" 0 .P دستور \fBpyenv\fR همچنان در خط فرمان در دسترس خواهد بود، اما برنامه‌های پایتون شما تحت تأثیر جابه‌جایی نسخه قرار نخواهند گرفت\. .IP "" 0 .SH "گزینه‌های خط فرمان (COMMAND LINE OPTIONS)" مانند \fBgit\fR، دستور \fBpyenv\fR بر اساس اولین آرگومان خود وظایف را به زیردستورها واگذار می‌کند\. .SS "برخی از دستورهای مفید pyenv عبارتند از:" .TP 5 .B commands فهرست کردن تمام دستورهای در دسترس pyenv .TP .B exec اجرای یک فایل اجرایی با نسخه انتخاب‌شده پایتون .TP .B global تنظیم یا نمایش نسخه(های) سراسری پایتون .TP .B help نمایش راهنمای یک دستور .TP .B hooks فهرست کردن اسکریپت‌های قلاب (hook) برای یک دستور معین pyenv .TP .B init پیکربندی محیط پوسته برای pyenv .TP .B install نصب یک نسخه پایتون با استفاده از python\-build .TP .B local تنظیم یا نمایش نسخه(های) محلی مختص به برنامه پایتون .TP .B prefix نمایش پیشوند (prefix) برای یک نسخه پایتون .TP .B rehash تازه‌سازی شیم‌های pyenv (این دستور را پس از نصب فایل‌های اجرایی اجرا کنید) .TP .B root نمایش دایرکتوری ریشه که نسخه‌ها و شیم‌ها در آن نگهداری می‌شوند .TP .B shell تنظیم یا نمایش نسخه پایتون مخصوص پوسته فعلی .TP .B shims فهرست کردن شیم‌های موجود pyenv .TP .B uninstall حذف نسخه‌های نصب‌شده پایتون .TP .B version نمایش نسخه(های) فعلی پایتون و منشأ آن .TP .B version\-file تشخیص فایلی که نسخه فعلی pyenv را تعیین می‌کند .TP .B version\-name نمایش نسخه فعلی پایتون .TP .B version\-origin توضیح درباره نحوه تعیین نسخه فعلی پایتون .TP .B versions فهرست کردن تمام نسخه‌های پایتون در دسترس pyenv .TP .B whence فهرست کردن تمام نسخه‌های پایتونی که شامل فایل اجرایی داده‌شده هستند .TP .B which نمایش مسیر کامل به یک فایل اجرایی .PP برای اطلاعات درباره یک دستور خاص، به `pyenv help ' مراجعه کنید. برای مستندات کامل، بخش \fBCOMMAND REFERENCE\fR را ببینید..SH "گزینه‌ها (OPTIONS)" .TP .B \-h, \-\-help نمایش خلاصه‌ای از گزینه‌ها\. .TP .B \-v, \-\-version نمایش نسخه برنامه\. .SH "مقایسه (COMPARISON)" .P .B "pyenv این کارها را انجام می‌دهد\|\.\|\.\|\." .P .IP \(bu 4 به شما امکان می‌دهد \fBنسخه سراسری Python را\fR برای هر کاربر به‌طور مجزا تغییر دهید\. .IP \(bu 4 از \fBنسخه‌های تفکیک‌شدهٔ Python برای هر پروژه\fR پشتیبانی می‌کند\. .IP \(bu 4 به شما اجازه می‌دهد \fBنسخه Python را\fR با یک متغیر محیطی بازنویسی (override) کنید\. .IP \(bu 4 دستورها را از \fBچندین نسخه Python به طور هم‌زمان\fR جستجو می‌کند\. این ممکن است برای آزمایش روی نسخه‌های مختلف Python با tox مفید باشد\. .IP "" 0 .P .B "در مقایسه با pythonbrew و pythonz، ابزار pyenv این کارها را انجام نمی‌دهد\|\.\|\.\|\." .IP \(bu 4 \fBبه خود Python وابسته نیست\.\fR ابزار pyenv از اسکریپت‌های شل خالص ساخته شده است؛ بنابراین هیچ مشکل راه‌اندازی اولیه‌ای (bootstrap) برای Python وجود ندارد\. .IP \(bu 4 \fBنیازی به بارگذاری درون شل شما ندارد\.\fR در عوض، رویکرد شیم (shim) در pyenv با افزودن یک دایرکتوری به \fB$PATH\fR شما کار می‌کند\. .IP \(bu 4 \fBمحیط virtualenv را مدیریت نمی‌کند\.\fR البته شما می‌توانید خودتان virtualenv بسازید، یا از pyenv\-virtualenv برای خودکارسازی این فرآیند استفاده کنید\. .SH "نحوه کارکرد (HOW IT WORKS)" در یک نگاه کلی، pyenv دستورهای Python را با استفاده از فایل‌های اجرایی شیم (shim) تزریق‌شده به \fBPATH\fR شما رهگیری می‌کند، تعیین می‌کند کدام نسخه Python توسط برنامه شما مشخص شده است، و دستورهای شما را به نسخه نصب‌شده صحیح Python هدایت می‌کند\. .SS "آشنایی با PATH (Understanding PATH)" هنگامی که دستوری مانند \fBpython\fR یا \fBpip\fR را اجرا می‌کنید، سیستم‌عامل شما فهرستی از دایرکتوری‌ها را برای یافتن یک فایل اجرایی با آن نام جستجو می‌کند\. این فهرست دایرکتوری‌ها در یک متغیر محیطی به نام \fBPATH\fR قرار دارد که در آن هر دایرکتوری با یک دونقطه (:) از بقیه جدا شده است: .IP "" 4 .nf /usr/local/bin:/usr/bin:/bin .fi .IP "" 0 .P دایرکتوری‌ها در \fBPATH\fR از چپ به راست جستجو می‌شوند، بنابراین یک فایل اجرایی منطبق در دایرکتوری ابتدای فهرست، نسبت به دیگری در انتهای فهرست اولویت دارد\. در این مثال، ابتدا دایرکتوری \fB/usr/local/bin\fR جستجو می‌شود، سپس \fB/usr/bin\fR و پس از آن \fB/bin\fR\. .SS "آشنایی با شیم‌ها (Understanding Shims)" ابزار pyenv با قرار دادن دایرکتوری حاوی \fIشیم‌ها (shims)\fR در ابتدای متغیر \fBPATH\fR شما کار می‌کند: .IP "" 4 .nf $(pyenv root)/shims:/usr/local/bin:/usr/bin:/bin .fi .IP "" 0 .P از طریق فرآیندی به نام \fIبازسازی هش (rehashing)\fR، ابزار pyenv شیم‌ها را در آن دایرکتوری نگهداری می‌کند تا با هر دستور Python (\fBpython\fR، \fBpip\fR و غیره) در تمام نسخه‌های نصب‌شده Python مطابقت داشته باشند\. .P شیم‌ها فایل‌های اجرایی سبکی هستند که به سادگی دستور شما را به pyenv تحویل می‌دهند\. بنابراین با نصب pyenv، زمانی که برای مثال دستور \fBpip\fR را اجرا می‌کنید، سیستم‌عامل شما کارهای زیر را انجام خواهد داد: .IP \(bu 4 متغیر \fBPATH\fR شما را برای یافتن یک فایل اجرایی به نام \fBpip\fR جستجو می‌کند .IP \(bu 4 شیم pyenv به نام \fBpip\fR را در ابتدای \fBPATH\fR شما پیدا می‌کند .IP \(bu 4 شیم به نام \fBpip\fR را اجرا می‌کند که به نوبه خود دستور را به pyenv منتقل می‌کند .IP "" 0 .SS "انتخاب نسخه Python (Choosing the Python Version)" هنگامی که یک شیم را اجرا می‌کنید، pyenv با خواندن از منابع زیر و به همین ترتیب، تعیین می‌کند که از کدام نسخه Python استفاده شود: .IP "1." 4 متغیر محیطی \fBPYENV_VERSION\fR (در صورت تعیین شدن)\. می‌توانید از دستور \fBpyenv shell\fR برای مقداردهی این متغیر محیطی در نشست شل فعلی خود استفاده کنید\. .IP "2." 4 فایل مختص برنامه \fB\.python\-version\fR در دایرکتوری جاری (در صورت وجود)\. می‌توانید فایل \fB\.python\-version\fR دایرکتوری جاری را با دستور \fBpyenv local\fR تغییر دهید\. .IP "3." 4 نخستین فایل \fB\.python\-version\fR یافت‌شده (در صورت وجود) از طریق جستجو در دایرکتوری‌های والد، تا رسیدن به ریشه فایل‌سیستم شما\. .IP "4." 4 فایل سراسری \fB$(pyenv root)/version\fR\. می‌توانید این فایل را با دستور \fBpyenv global\fR تغییر دهید\. اگر فایل نسخه سراسری وجود نداشته باشد، pyenv فرض می‌کند می‌خواهید از Python «سیستم» استفاده کنید\. (به عبارت دیگر، هر نسخه‌ای که در صورت عدم وجود pyenv در \fBPATH\fR شما اجرا می‌شد\.) .IP "" 0 .P .nh \fBنکته:\fR می‌توانید چندین نسخه را هم‌زمان فعال کنید، از جمله چندین نسخه از Python2 یا Python3 به طور هم‌زمان\. این قابلیت امکان استفاده موازی از Python2 و Python3 را فراهم می‌کند و برای ابزارهایی مانند \fBtox\fR الزامی است\. برای نمونه، برای تنظیم مسیر خود به طوری که ابتدا از Python و Python3 \fBسیستم\fR استفاده کند (در این مثال روی 2\.7\.9 و 3\.4\.2 تنظیم شده)، اما همچنین نسخه‌های 3\.3\.6، 3\.2 و 2\.5 پایتون را در \fBPATH\fR در دسترس داشته باشید، ابتدا باید نسخه‌های ناموجود را با \fBpyenv install\fR نصب کنید و سپس \fBpyenv global system 3\.3\.6 3\.2 2\.5\fR را تنظیم نمایید\. در این مرحله، باید بتوان با استفاده از \fBpyenv which\fR مسیر کامل اجرایی هر یک از این‌ها را پیدا کرد؛ به عنوان مثال \fBpyenv which python2\.5\fR (باید \fB$(pyenv root)/versions/2\.5/bin/python2\.5\fR را نمایش دهد) یا \fBpyenv which python3\.4\fR (باید مسیر Python3 سیستم را نمایش دهد)\. شما همچنین می‌توانید چند نسخه را در یک فایل \fB\.python\-version\fR مشخص کنید که با خطوط جدید یا هر فاصله خالی از یکدیگر جدا شده باشند\. hy .SS "مکان‌یابی نسخه نصب‌شده Python (Locating the Python Installation)" به محض اینکه pyenv تعیین کند برنامه‌تان کدام نسخه Python را مشخص کرده است، دستور را به نسخه نصب‌شده مربوطه هدایت می‌کند\. .P هر نسخه Python در دایرکتوری اختصاصی خود در مسیر زیر نصب می‌شود: .nf \fB$(pyenv root)/versions\fR\. .fi .P برای مثال، ممکن است این نسخه‌ها نصب شده باشند: .IP \(bu 4 \fB$(pyenv root)/versions/2\.7\.8/\fR .IP \(bu 4 \fB$(pyenv root)/versions/3\.4\.2/\fR .IP \(bu 4 \fB$(pyenv root)/versions/pypy\-2\.4\.0/\fR .IP "" 0 .P از دیدگاه pyenv، نام‌های نسخه‌ها صرفاً همان نام دایرکتوری‌ها در \fB$(pyenv root)/versions\fR هستند\. .SS "مدیریت محیط‌های مجازی (Managing Virtual Environments)" یک پلاگین pyenv به نام pyenv\-virtualenv وجود دارد که قابلیت‌های گوناگونی را برای کمک به کاربران pyenv جهت مدیریت محیط‌های مجازی ایجادشده توسط virtualenv یا Anaconda به همراه دارد\. از آنجا که اسکریپت \fBactivate\fR در این محیط‌های مجازی متکی بر تغییر متغیر \fB$PATH\fR در شل تعاملی کاربر است، در قلاب‌های اجرای دستور به سبک شیم در pyenv تداخل ایجاد می‌کند\. توصیه می‌کنیم چنانچه قصد استفاده از این محیط‌های مجازی را دارید، pyenv\-virtualenv را نیز نصب کنید\. .SH "پیکربندی پیشرفته (ADVANCED CONFIGURATION)" از این بخش صرف‌نظر کنید، مگر اینکه لازم باشد بدانید هر خط در پروفایل شل شما چه کاری انجام می‌دهد\. .P دستور \fBpyenv init\fR تنها دستوری است که فراتر رفته و دستورهای بیشتری را در شل شما بارگذاری می‌کند\. اگر تجربه کار با rvm را داشته باشید، شاید برخی از شما با این ایده مخالف باشید\. آنچه \fBpyenv init\fR در عمل انجام می‌دهد بدین شرح است: .IP "1." 4 \fBمسیر شیم‌های شما را تنظیم می‌کند\.\fR این تنها پیش‌نیاز برای کارکرد درست pyenv است\. می‌توانید این کار را به صورت دستی با افزودن \fB$(pyenv root)/shims\fR به ابتدای \fB$PATH\fR خود انجام دهید\. .IP "2." 4 \fBشیم‌ها را بازسازی (rehash) می‌کند\.\fR گاه‌به‌گاه لازم است فایل‌های شیم خود را بازسازی کنید\. انجام این کار هنگام مقداردهی اولیه مطمئن می‌شود که همه چیز به‌روز است\. شما همیشه می‌توانید \fBpyenv rehash\fR را به صورت دستی اجرا کنید\. می‌توانید این قابلیت را با افزودن \fB\-\-no\-rehash\fR به انتهای خط فرمان \fBpyenv init\fR غیرفعال کنید\. .IP "3." 4 \fBتوزیع‌کننده sh (یا sh dispatcher) را نصب می‌کند\.\fR این بخش نیز اختیاری است، اما به pyenv و پلاگین‌ها اجازه می‌دهد متغیرها را در شل فعلی شما تغییر دهند و دستورهایی مانند \fBpyenv shell\fR را ممکن سازند\. توزیع‌کننده sh کار غیرمعمولی مانند بازنویسی \fBcd\fR یا تغییر در اعلان شل (shell prompt) شما انجام نمی‌دهد؛ اما اگر به هر دلیلی نیاز دارید \fBpyenv\fR به جای یک تابع شل، یک اسکریپت واقعی باشد، می‌توانید با خیال راحت از آن صرف‌نظر کنید\. .IP "" 0 .P برای مشاهده دقیق آنچه در پشت صحنه اتفاق می‌افتد، دستور \fB"pyenv init \-"\fR را اجرا کنید\. .SH "حذف نسخه‌های Python (UNINSTALLING PYTHON VERSIONS)" با گذشت زمان، نسخه‌های متعددی از Python در دایرکتوری \fB$(pyenv root)/versions\fR شما انباشته می‌شوند\. .P برای پاک کردن نسخه‌های قدیمی Python، از دستور \fBpyenv uninstall\fR برای خودکارسازی فرآیند حذف استفاده کنید\. .P در غیر این صورت، کافی است دایرکتوری نسخه‌ای را که قصد حذف آن را دارید با \fBrm \-rf\fR پاک کنید\. می‌توانید دایرکتوری یک نسخه خاص Python را با دستور \fBpyenv prefix\fR پیدا کنید، .P مانند \fBpyenv prefix 2\.6\.8\fR\. .SH "مرجع دستورها (COMMAND REFERENCE)" .P رایج‌ترین زیردستورها عبارتند از: .SS "pyenv commands" فهرست کردن تمام دستورهای موجود pyenv\..SS "pyenv local" با نوشتن نام نسخه در فایل \fB\.python\-version\fR در دایرکتوری جاری، یک نسخه محلی و مختص به برنامه از Python را تنظیم می‌کند\. این نسخه بر نسخه سراسری اولویت دارد و خودش نیز می‌تواند با تنظیم متغیر محیطی \fBPYENV_VERSION\fR یا با دستور \fBpyenv shell\fR نادیده گرفته شود\. .IP "" 4 .nf $ pyenv local 2\.7\.6 .fi .IP "" 0 .P هنگام اجرا بدون شماره نسخه، \fBpyenv local\fR نسخه محلیِ در حال حاضر پیکربندی‌شده را گزارش می‌دهد\. شما همچنین می‌توانید نسخه محلی را لغو کنید: .IP "" 4 .nf $ pyenv local \-\-unset .fi .IP "" 0 .P نسخه‌های پیشین pyenv مشخصات نسخه محلی را در فایلی به نام \fB\.pyenv\-version\fR ذخیره می‌کردند\. برای سازگاری با نسخه‌های پیشین، pyenv نسخه محلی مشخص‌شده در فایل \fB\.pyenv\-version\fR را می‌خواند، اما فایل \fB\.python\-version\fR در همان دایرکتوری اولویت بالاتری خواهد داشت\. .P می‌توانید چندین نسخه را به‌طور هم‌زمان به‌عنوان Python محلی مشخص کنید\. .P فرض کنید دو نسخه 2\.7\.6 و 3\.3\.3 را دارید\. اگر 2\.7\.6 را به 3\.3\.3 ترجیح می‌دهید: .IP "" 4 .nf $ pyenv local 2\.7\.6 3\.3\.3 $ pyenv versions system * 2\.7\.6 (set by /Users/yyuu/path/to/project/\.python\-version) * 3\.3\.3 (set by /Users/yyuu/path/to/project/\.python\-version) $ python \-\-version Python 2\.7\.6 $ python2\.7 \-\-version Python 2\.7\.6 $ python3\.3 \-\-version Python 3\.3\.3 .fi .IP "" 0 .P یا اگر 3\.3\.3 را به 2\.7\.6 ترجیح می‌دهید: .IP "" 4 .nf $ pyenv local 3\.3\.3 2\.7\.6 $ pyenv versions system * 2\.7\.6 (set by /Users/yyuu/path/to/project/\.python\-version) * 3\.3\.3 (set by /Users/yyuu/path/to/project/\.python\-version) venv27 $ python \-\-version Python 3\.3\.3 $ python2\.7 \-\-version Python 2\.7\.6 $ python3\.3 \-\-version Python 3\.3\.3 .fi .IP "" 0 .SS "pyenv global" با نوشتن نام نسخه در فایل \fB~/\.pyenv/version\fR، نسخه سراسری Python را برای استفاده در تمام پوسته‌ها تنظیم می‌کند\. این نسخه می‌تواند توسط یک فایل \fB\.python\-version\fR مختص برنامه یا با تنظیم متغیر محیطی \fBPYENV_VERSION\fR نادیده گرفته شود\. .IP "" 4 .nf $ pyenv global 2\.7\.6 .fi .IP "" 0 .P نام نسخه ویژه \fBsystem\fR به pyenv می‌گوید که از Python سیستم (شناسایی‌شده با جستجو در \fB$PATH\fR شما) استفاده کند\. .P هنگام اجرا بدون شماره نسخه، \fBpyenv global\fR نسخه سراسریِ در حال حاضر پیکربندی‌شده را گزارش می‌دهد\. .P می‌توانید چندین نسخه را به‌طور هم‌زمان به‌عنوان Python سراسری مشخص کنید\. .P فرض کنید دو نسخه 2\.7\.6 و 3\.3\.3 را دارید\. اگر 2\.7\.6 را به 3\.3\.3 ترجیح می‌دهید: .IP "" 4 .nf $ pyenv global 2\.7\.6 3\.3\.3 $ pyenv versions system * 2\.7\.6 (set by /Users/yyuu/\.pyenv/version) * 3\.3\.3 (set by /Users/yyuu/\.pyenv/version) $ python \-\-version Python 2\.7\.6 $ python2\.7 \-\-version Python 2\.7\.6 $ python3\.3 \-\-version Python 3\.3\.3 .fi .IP "" 0 .P یا اگر 3\.3\.3 را به 2\.7\.6 ترجیح می‌دهید: .IP "" 4 .nf $ pyenv global 3\.3\.3 2\.7\.6 $ pyenv versions system * 2\.7\.6 (set by /Users/yyuu/\.pyenv/version) * 3\.3\.3 (set by /Users/yyuu/\.pyenv/version) venv27 $ python \-\-version Python 3\.3\.3 $ python2\.7 \-\-version Python 2\.7\.6 $ python3\.3 \-\-version Python 3\.3\.3 .fi .IP "" 0 .SS "pyenv shell" با تنظیم متغیر محیطی \fBPYENV_VERSION\fR در پوسته جاری شما، یک نسخه مختص به پوسته از Python را تنظیم می‌کند\. این نسخه بر نسخه‌های مختص برنامه و نسخه سراسری اولویت دارد\. .IP "" 4 .nf $ pyenv shell pypy\-2\.2\.1 .fi .IP "" 0 .P هنگام اجرا بدون شماره نسخه، \fBpyenv shell\fR مقدار فعلی \fBPYENV_VERSION\fR را گزارش می‌دهد\. شما همچنین می‌توانید نسخه پوسته را لغو کنید: .IP "" 4 .nf $ pyenv shell \-\-unset .fi .IP "" 0 .P توجه داشته باشید که برای استفاده از این دستور، باید یکپارچه‌سازی پوسته با pyenv فعال باشد (مرحله ۳ از دستورالعمل‌های نصب)\. اگر ترجیح می‌دهید از یکپارچه‌سازی پوسته استفاده نکنید، می‌توانید متغیر \fBPYENV_VERSION\fR را خودتان مقداردهی کنید: .IP "" 4 .nf $ export PYENV_VERSION=pypy\-2\.2\.1 .fi .IP "" 0 .P می‌توانید چندین نسخه را به‌طور هم‌زمان از طریق \fBPYENV_VERSION\fR مشخص کنید\. .P فرض کنید دو نسخه 2\.7\.6 و 3\.3\.3 را دارید\. اگر 2\.7\.6 را به 3\.3\.3 ترجیح می‌دهید: .IP "" 4 .nf $ pyenv shell 2\.7\.6 3\.3\.3 $ pyenv versions system * 2\.7\.6 (set by PYENV_VERSION environment variable) * 3\.3\.3 (set by PYENV_VERSION environment variable) $ python \-\-version Python 2\.7\.6 $ python2\.7 \-\-version Python 2\.7\.6 $ python3\.3 \-\-version Python 3\.3\.3 .fi .IP "" 0 .P یا اگر 3\.3\.3 را به 2\.7\.6 ترجیح می‌دهید: .IP "" 4 .nf $ pyenv shell 3\.3\.3 2\.7\.6 $ pyenv versions system * 2\.7\.6 (set by PYENV_VERSION environment variable) * 3\.3\.3 (set by PYENV_VERSION environment variable) venv27 $ python \-\-version Python 3\.3\.3 $ python2\.7 \-\-version Python 2\.7\.6 $ python3\.3 \-\-version Python 3\.3\.3 .fi .IP "" 0.SS "pyenv install" نصب یک نسخه از Python .IP "" 4 .nf Usage: pyenv install [\-f] [\-kvp] pyenv install [\-f] [\-kvp] pyenv install \-l|\-\-list \-l, \-\-list فهرست کردن تمام نسخه‌های موجود \-f, \-\-force نصب حتی در صورتی که به نظر برسد نسخه از قبل نصب شده است \-s, \-\-skip\-existing رد کردن نصب در صورتی که به نظر برسد نسخه از قبل نصب شده است گزینه‌های python\-build: \-k, \-\-keep نگه‌داشتن درخت مبدأ در $PYENV_BUILD_ROOT پس از نصب (پیش‌فرض: $PYENV_ROOT/sources) \-v, \-\-verbose حالت پرگو: چاپ وضعیت کامپایل در stdout \-p, \-\-patch اعمال یک وصله از stdin پیش از ساخت \-g, \-\-debug ساخت یک نسخه اشکال‌زدایی (debug) .fi .IP "" 0 .P برای مشاهده فهرست تمام نسخه‌های موجود Python، از جمله Anaconda، Jython، pypy و stackless، از این دستور استفاده کنید: .IP "" 4 .nf $ pyenv install \-\-list .fi .IP "" 0 .P سپس نسخه‌های مورد نظر را نصب کنید: .IP "" 4 .nf $ pyenv install 2\.7\.6 $ pyenv install 2\.6\.8 $ pyenv versions system 2\.6\.8 * 2\.7\.6 (set by /home/yyuu/\.pyenv/version) .fi .IP "" 0 .SS "pyenv uninstall" حذف نسخه‌های Python\. .IP "" 4 .nf Usage: pyenv uninstall [\-f|\-\-force] ... \-f تلاش برای حذف نسخه مشخص‌شده بدون درخواست تأیید\. اگر نسخه وجود نداشته باشد، هیچ پیام خطایی نمایش داده نمی‌شود\. .fi .IP "" 0 .SS "pyenv rehash" شیم‌ها (shims) را برای تمام فایل‌های اجرایی Python که برای pyenv شناخته‌شده هستند (یعنی \fB~/\.pyenv/versions/*/bin/*\fR) نصب می‌کند\. این دستور را پس از نصب یک نسخه جدید از Python یا پس از نصب بسته‌ای که فایل‌های اجرایی ارائه می‌دهد اجرا کنید\. .IP "" 4 .nf $ pyenv rehash .fi .IP "" 0 .SS "pyenv version" نسخه فعال فعلی Python را به همراه اطلاعاتی درباره نحوه تنظیم آن نمایش می‌دهد\. .IP "" 4 .nf $ pyenv version 2\.7\.6 (set by /home/yyuu/\.pyenv/version) .fi .IP "" 0 .SS "pyenv versions" تمام نسخه‌های Python شناخته‌شده برای pyenv را فهرست می‌کند و یک علامت ستاره در کنار نسخه فعال فعلی نمایش می‌دهد\. .IP "" 4 .nf $ pyenv versions 2\.5\.6 2\.6\.8 * 2\.7\.6 (set by /home/yyuu/\.pyenv/version) 3\.3\.3 jython\-2\.5\.3 pypy\-2\.2\.1 .fi .IP "" 0 .SS "pyenv which" مسیر کامل فایل اجرایی را که pyenv هنگام اجرای دستور داده‌شده فراخوانی می‌کند، نمایش می‌دهد\. .IP "" 4 .nf $ pyenv which python3\.3 /home/yyuu/\.pyenv/versions/3\.3\.3/bin/python3\.3 .fi .IP "" 0 .SS "pyenv whence" تمام نسخه‌های Python را که دستور داده‌شده در آن‌ها نصب است، فهرست می‌کند\. .IP "" 4 .nf $ pyenv whence 2to3 2\.6\.8 2\.7\.6 3\.3\.3 .fi .IP "" 0 .SH "محیط (ENVIRONMENT)" می‌توانید با استفاده از تنظیمات زیر بر نحوه عملکرد pyenv تأثیر بگذارید: .TP 28 .B نام (پیش‌فرض) .B توضیحات .TP 28 .B PYENV_VERSION نسخه Python مورد استفاده را مشخص می‌کند. همچنین ببینید: \fBpyenv shell\fR .TP .B PYENV_ROOT (\fB~/.pyenv\fR) دایرکتوری‌ای را که نسخه‌های Python و شیم‌ها در آن قرار دارند مشخص می‌کند. همچنین ببینید: \fBpyenv root\fR .TP .B PYENV_DEBUG اطلاعات اشکال‌زدایی را در خروجی نمایش می‌دهد. .br همچنین به صورت: \fBpyenv --debug \fR .TP .B PYENV_HOOK_PATH فهرستی از مسیرها که با دونقطه (:) از هم جدا شده‌اند و برای هوک‌های pyenv جستجو می‌شوند\. .TP .B PYENV_DIR (\fB$PWD\fR) دایرکتوری شروع جستجو برای فایل‌های \fB\.python\-version\fR\. .TP .B HTTP_PROXY,HTTPS_PROXY متغیرهای پراکسی .TP .B CONFIGURE_OPTS ارسال گزینه‌های configure به فرآیند ساخت. .TP .B PYTHON_BUILD_ARIA2_OPTS برای ارسال پارامترهای اضافی به \fBaria2\fR استفاده می‌شود .UR https://aria2.github.io .UE اگر فایل اجرایی \fBaria2c\fR در PATH در دسترس باشد، pyenv به جای \fBcurl\fR یا \fBwget\fR از \fBaria2c\fR برای دانلود کد منبع Python استفاده می‌کند\. اگر اتصال اینترنت ناپایداری دارید، می‌توانید از این متغیر برای هدایت \fBaria2\fR جهت افزایش سرعت دانلود استفاده کنید\. در بیشتر موارد، تنها نیاز است از \fB\-x 10 \-k 1M\fR به عنوان مقدار متغیر محیطی \fBPYTHON_BUILD_ARIA2_OPTS\fR استفاده کنید.SH "مجوز (LICENSE)" مجوز \fBMIT\fR