يتيح لك Pyenv التبديل بسهولة بين إصدارات متعددة من Python. إنها بسيطة وغير مزعجة ، وتتبع تقليد UNIX للأدوات ذات الأغراض الواحدة التي تفعل شيئًا جيدًا.
هذا المشروع تم تشويهه من RBENV و Ruby-Build ، وتم تعديله للبيثون.
PATH
.سيعمل خيار Homebrew من قسم MacOS أدناه أيضًا إذا قمت بتثبيت Homebrew.
curl https://pyenv.run | bash
لمزيد من التفاصيل ، تفضل بزيارة مشروعنا الآخر: https://github.com/pyenv/pyenv-installer
سيؤدي ذلك إلى الحصول على أحدث إصدار من Pyenv ويجعل من السهل أن تتطرق والمساهمة في أي تغييرات مرة أخرى.
$HOME/.pyenv
(ولكن يمكنك تثبيته في مكان آخر): git clone https://github.com/pyenv/pyenv.git ~/.pyenv
cd ~/.pyenv && src/configure && make -C src
تعمل الخيارات من قسم Linux أعلاه أيضًا ولكن يوصى باستخدام Homebrew للاستخدام الأساسي.
تحديث البيرة وتثبيت Pyenv:
brew update
brew install pyenv
إذا كنت ترغب في تثبيت (وتحديث) أحدث رئيس تطوير في Pyenv بدلاً من الإصدار الأخير ، بدلاً من ذلك ، قم بتشغيله:
brew install pyenv --head
ثم اتبع بقية خطوات ما بعد التثبيت ، بدءًا من إعداد بيئة الصدفة الخاصة بك لـ Pyenv.
خياري. لإصلاح البرامج brew doctor
لتكوين "تحذير" Config "
إذا كنت ستقوم ببناء صيغ محلية من المصدر والتي ترتبط مع Python مثل Tkinter أو Numpy (هذا هو الحال بشكل عام فقط إذا كنت مطورًا لمثل هذه الصيغة ، أو إذا كان لديك نسخة EOL من MacOS التي توجد بها الزجاجات المسبقة لها لم تعد متوفرة وأنت تستخدم مثل هذه الصيغة).
لتجنبهم بطريق الخطأ ، يربطون بايثون المقدمة من PyenV ، أضف السطر التالي في تكوين قذيفة التفاعلية:
باش/زش:
alias brew= ' env PATH="${PATH//$(pyenv root)/shims:/}" brew '
سمكة:
alias brew= " env PATH=(string replace (pyenv root)/shims '' "$ PATH " ) brew "
لا يدعم Pyenv رسميًا Windows ولا يعمل في Windows خارج نظام Windows الفرعي لـ Linux. علاوة على ذلك ، حتى هناك ، فإن Pythons التي يتم تثبيتها ليست إصدارات Windows أصلية ، بل كانت إصدارات Linux تعمل في جهاز افتراضي-لذلك لن تحصل على وظائف خاصة بنظام Windows.
إذا كنت في Windows ، فإننا نوصي باستخدام شوكة @Kirankotari's pyenv-win
التي تقوم بتثبيت إصدارات Windows Python الأصلية.
يجب أن يعمل الإعداد أدناه للغالبية العظمى من المستخدمين لحالات الاستخدام المشتركة. انظر التكوين المتقدم للحصول على التفاصيل ومزيد من خيارات التكوين.
تختلف ملفات بدء تشغيل Bash Stock على نطاق واسع بين التوزيعات التي مصدرها ، والتي ، في أي ظروف ، في أي ترتيب والتكوين الإضافي الذي يقومون به. على هذا النحو ، فإن الطريقة الأكثر موثوقية للحصول على pyenv في جميع البيئات هي إلحاق أوامر تكوين pyenv على كل من .bashrc
(للقذائف التفاعلية) وملف الملف الشخصي الذي سيستخدمه Bash (لقذائف تسجيل الدخول).
أولاً ، أضف الأوامر إلى ~/.bashrc
عن طريق تشغيل ما يلي في المحطة الخاصة بك:
echo ' export PYENV_ROOT="$HOME/.pyenv" ' >> ~ /.bashrc
echo ' command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH" ' >> ~ /.bashrc
echo ' eval "$(pyenv init -)" ' >> ~ /.bashrc
ثم ، إذا كان لديك ~/.profile
، ~/.bash_profile
أو ~/.bash_login
، أضف الأوامر هناك أيضًا. إذا لم يكن لديك أي من هذه ، فقم بإنشاء ~/.profile
وأضف الأوامر هناك.
~/.profile
: echo ' export PYENV_ROOT="$HOME/.pyenv" ' >> ~ /.profile
echo ' command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH" ' >> ~ /.profile
echo ' eval "$(pyenv init -)" ' >> ~ /.profile
~/.bash_profile
: echo ' export PYENV_ROOT="$HOME/.pyenv" ' >> ~ /.bash_profile
echo ' [[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH" ' >> ~ /.bash_profile
echo ' eval "$(pyenv init -)" ' >> ~ /.bash_profile
تحذير Bash : هناك بعض الأنظمة التي يتم فيها تكوين متغير BASH_ENV
للإشارة إلى .bashrc
. على مثل هذه الأنظمة ، يجب عليك بالتأكيد وضع خط eval "$(pyenv init -)"
في .bash_profile
، وليس في .bashrc
. خلاف ذلك ، قد تلاحظ سلوكًا غريبًا ، مثل pyenv
إلى حلقة لا حصر لها. انظر #264 للحصول على التفاصيل.
echo ' export PYENV_ROOT="$HOME/.pyenv" ' >> ~ /.zshrc
echo ' [[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH" ' >> ~ /.zshrc
echo ' eval "$(pyenv init -)" ' >> ~ /.zshrc
إذا كنت ترغب في الحصول على pyenv في قذائف تسجيل الدخول غير النشطة أيضًا ، فأضف أيضًا الأوامر إلى ~/.zprofile
أو ~/.zlogin
.
إذا كان لديك Fish 3.2.0 أو أحدث ، قم بتنفيذ هذا بشكل تفاعلي:
set -Ux PYENV_ROOT $HOME /.pyenv
fish_add_path $PYENV_ROOT /bin
خلاف ذلك ، قم بتنفيذ المقتطف أدناه:
set -Ux PYENV_ROOT $HOME /.pyenv
set -U fish_user_paths $PYENV_ROOT /bin $fish_user_paths
الآن ، أضف هذا إلى ~/.config/fish/config.fish
:
pyenv init - | source
لتتغير PATH
ليصبح مفعولها.
exec " $SHELL "
قم بتثبيت تبعيات بناء Python قبل محاولة تثبيت إصدار Python جديد.
يمكنك الآن البدء في استخدام Pyenv.
إذا كنت قد قمت بالترقية من Pyenv الإصدار 2.0.x -2.2.x
تم تحديث منطق بدء التشغيل والتعليمات للبساطة في 2.3.0. لا يزال نظام التكوين السابق والأكثر تعقيدًا لـ 2.0.0-2.2.5 يعمل.
PYENV_ROOT
للإشارة إلى المسار الذي ستخزن فيه Pyenv بياناته. $HOME/.pyenv
هو الافتراضي. إذا قمت بتثبيت Pyenv عبر Git Checkout ، فإننا نوصي بتعيينه على نفس الموقع الذي استنساخه.pyenv
قابلة للتنفيذ إلى PATH
إذا لم يكن موجودًا بالفعلeval "$(pyenv init -)"
لتثبيت pyenv
في قذيفك كدالة قذيفة ، وتمكين الحشوات والإكمال التلقائيeval "$(pyenv init --path)"
بدلاً من ذلك لتمكين الحشوات ، دون تكامل shell لتثبيت إصدارات Python إضافية ، استخدم pyenv install
.
على سبيل المثال ، لتنزيل وتثبيت Python 3.10.4 ، تشغيل:
pyenv install 3.10.4
تشغيل pyenv install -l
يعطي قائمة جميع الإصدارات المتاحة.
ملاحظة: إذا كنت تواجه مشكلة في تثبيت إصدار Python ، فيرجى زيارة صفحة Wiki حول مشاكل البناء الشائعة.
ملاحظة: إذا كنت ترغب في استخدام Proxy للتنزيل ، فيرجى تعيين متغيرات البيئة http_proxy
و https_proxy
.
ملاحظة: إذا كنت ترغب في الحصول على مترجم أسرع على تكلفة أوقات البناء الأطول ، راجع بناء أقصى أداء في ReadMe Python-Build.
جميع الألواح الفرعية Pyenv باستثناء uninstall
تلقائيًا حل البادئات الكاملة لأحدث إصدار في سطر الإصدار المقابل.
يختار pyenv install
أحدث إصدار معروف ، بينما تختار اللومبنيون الفرعيون آخر الإصدار المثبت.
على سبيل المثال لتثبيت ثم التبديل إلى أحدث إصدار 3.10:
pyenv install 3.10
pyenv global 3.10
يمكنك تشغيل pyenv latest -k <prefix>
لمعرفة كيف سيقوم pyenv install
بحل بادئة محددة ، أو pyenv latest <prefix>
لمعرفة كيف ستحلها الألواح الفرعية الأخرى.
انظر pyenv latest
للحصول على التفاصيل.
بالنسبة لإصدارات Python التالية ، يطبق Pyenv تصحيحات مقدمة من المستخدم تضيف دعمًا لبعض البيئات الأحدث. على الرغم من أننا لا نحافظ على هذه التصحيحات بنشاط ، نظرًا لأن الإصدارات الحالية لا تتغير أبدًا ، فمن الآمن افتراض أنها ستستمر في العمل حتى تكون هناك تغييرات غير متوافقة في إصدار لاحق من تلك البيئات.
لتحديد Python المثبت على Pyenv كإصدار لاستخدامه ، قم بتشغيل أحد الأوامر التالية:
pyenv shell <version>
- حدد فقط لجلسة shell الحاليةpyenv local <version>
- حدد تلقائيًا متى كنت في الدليل الحالي (أو دليله الفرعي)pyenv global <version>
- حدد عالميًا لحساب المستخدم الخاص بكعلى سبيل المثال ، لتحديد Python 3.10.4 المذكور أعلاه.
pyenv global 3.10.4
الآن عندما تستدعي python
، pip
وما إلى ذلك ، سيتم تشغيل قابلة للتنفيذ من التثبيت 3.10.4 المقدم من PyenV بدلاً من Python النظام.
سيؤدي استخدام " system
" كاسم إصدار إلى إعادة تعيين التحديد إلى Python المقدمة من النظام.
راجع فهم الحشوات وفهم اختيار إصدار Python لمزيد من التفاصيل حول كيفية عمل الاختيار ومزيد من المعلومات حول استخدامه.
مع مرور الوقت ، سوف تتراكم إصدارات Python في دليل $(pyenv root)/versions
.
لإزالة إصدارات Python القديمة ، استخدم pyenv uninstall <versions>
.
بدلاً من ذلك ، يمكنك ببساطة rm -rf
دليل الإصدار الذي تريد إزالته. يمكنك العثور على دليل إصدار Python معين مع أمر pyenv prefix
، على سبيل المثال pyenv prefix 2.6.8
. لاحظ أن المكونات الإضافية قد تعمل عمليات إضافية عند إلغاء التثبيت والتي ستحتاج إلى القيام بها باليد أيضًا. مثل Pyenv-Virtualenv يزيل أيضًا أي بيئات افتراضية مرتبطة بالإصدار الذي يتم إلغاء تثبيته.
قم بتشغيل pyenv commands
للحصول على قائمة بجميع الأفلام الفرعية المتاحة. قم بتشغيل مجموعة فرعية مع --help
للحصول على مساعدة عليه ، أو رؤية مرجع الأوامر.
لاحظ أن مكونات Pyenv التي تقوم بتثبيتها قد تضيف أوامر فرعية خاصة بها.
إذا كنت قد قمت بتثبيت Pyenv باستخدام Homebrew ، فقم بالترقية باستخدام:
brew upgrade pyenv
للتبديل من إصدار إلى أحدث رئيس تطوير في Pyenv ، استخدم:
brew uninstall pyenv
brew install pyenv --head
ثم يمكنك ترقيته مع brew upgrade pyenv
كالمعتاد.
إذا كنت قد قمت بتثبيت Pyenv مع تثبيت Pyenv ، فمن المحتمل أن يكون لديك المكون الإضافي Pyenv-update الذي من شأنه ترقية Pyenv وجميع المكونات الإضافية المثبتة:
pyenv update
إذا قمت بتثبيت Pyenv باستخدام Pyenv-installer أو Git Checkout ، فيمكنك أيضًا ترقية التثبيت في أي وقت باستخدام Git.
للترقية إلى أحدث إصدار تطوير من Pyenv ، استخدم git pull
:
cd $( pyenv root )
git pull
للترقية إلى إصدار محدد من Pyenv ، تحقق من العلامة المقابلة:
cd $( pyenv root )
git fetch
git tag
git checkout v0.1.0
إن بساطة Pyenv تجعل من السهل تعطيلها مؤقتًا ، أو إلغاء تثبيت النظام.
لتعطيل Pyenv إدارة إصدارات Python الخاصة بك ، ما عليك سوى إزالة دعوات pyenv init
من تكوين بدء التشغيل الخاص بك. سيؤدي ذلك إلى إزالة دليل Pyenv Shims من PATH
، وسيقوم الدعوات المستقبلية مثل python
بتنفيذ إصدار Python النظام ، كما كان قبل Pyenv.
سيظل pyenv
متاحًا على سطر الأوامر ، لكن تطبيقات Python لن تتأثر بتبديل الإصدار.
لإلغاء تثبيت Pyenv بالكامل ، قم بإزالة جميع خطوط تكوين Pyenv من تكوين بدء تشغيل Shell ، ثم قم بإزالة دليل الجذر الخاص به. سيؤدي ذلك إلى حذف جميع إصدارات Python التي تم تثبيتها تحت $(pyenv root)/versions/
الدليل:
rm -rf $( pyenv root )
إذا قمت بتثبيت Pyenv باستخدام مدير الحزمة ، كخطوة أخيرة ، قم بإجراء إزالة حزمة Pyenv. على سبيل المثال ، لـ Homebrew:
brew uninstall pyenv
يوفر Pyenv طريقة بسيطة لتوسيع وظائفها وتخصيصها مع الإضافات - بسيطة مثل إنشاء دليل مكون إضافي وإسقاط البرنامج النصي shell على ممر فرعي معين منه مع أي منطق إضافي تحتاج إلى تشغيله في لحظات معينة.
الفكرة الرئيسية هي أنه في معظم الأشياء التي يمكنك وضعها تحت $PYENV_ROOT/<whatever>
يمكنك أيضًا وضع $PYENV_ROOT/plugins/your_plugin_name/<whatever>
.
راجع المكونات الإضافية على الويكي حول كيفية تثبيت واستخدام المكونات الإضافية بالإضافة إلى كتالوج لبعض الإضافات الحالية المفيدة لتلبية الاحتياجات الشائعة.
راجع تأليف الإضافات على الويكي على كتابة المكونات الإضافية الخاصة بك.
على مستوى عالٍ ، يعترض Pyenv أوامر Python باستخدام SHIM Executables التي تم حقنها في PATH
، ويحدد إصدار Python الذي تم تحديده بواسطة تطبيقك ، ويمرر أوامرك إلى تثبيت Python الصحيح.
عندما تقوم بتشغيل أمر مثل python
أو pip
، يبحث Shell (Bash / ZSHRC / ...) من خلال قائمة الدلائل للعثور على ملف قابل للتنفيذ بهذا الاسم. تعيش قائمة الدلائل هذه في متغير بيئة يسمى PATH
، مع كل دليل في القائمة مفصولة القولون:
/usr/local/bin:/usr/bin:/bin
يتم تفتيش الدلائل في PATH
من اليسار إلى اليمين ، وبالتالي فإن المطابقة القابلة للتنفيذ في دليل في بداية القائمة لها الأسبقية على واحدة أخرى في النهاية. في هذا المثال ، سيتم البحث في دليل /usr/local/bin
أولاً ، ثم /usr/bin
، ثم /bin
.
يعمل Pyenv عن طريق إدخال دليل من الحشوات في مقدمة PATH
:
$(pyenv root)/shims:/usr/local/bin:/usr/bin:/bin
من خلال عملية تدعى إعادة صياغة ، يحتفظ Pyenv بحشوات في هذا الدليل لمطابقة كل أمر Python عبر كل نسخة مثبتة من Python - python
، pip
، وما إلى ذلك.
الحشوات هي الخفيفة الوزن التنفيذيين الذين يمررون الأمر ببساطة إلى Pyenv. لذلك مع تثبيت Pyenv ، عندما تقوم بتشغيل ، على سبيل المثال ، pip
، فإن نظام التشغيل الخاص بك سوف يفعل ما يلي:
PATH
عن ملف قابل للتنفيذ يدعى pip
pip
في بداية PATH
pip
، والذي بدوره يمرر الأمر إلى Pyenvعندما تقوم بتنفيذ Shim ، يحدد Pyenv إصدار Python الذي يجب استخدامه من خلال قراءته من المصادر التالية ، بهذا الترتيب:
متغير بيئة PYENV_VERSION
(إذا تم تحديده). يمكنك استخدام أمر pyenv shell
لتعيين متغير البيئة هذا في جلسة Shell الحالية.
ملف .python-version
الخاص بالتطبيق في الدليل الحالي (إذا كان موجودًا). يمكنك تعديل ملف .python-version
الخاص بالدليل الحالي مع أمر pyenv local
.
تم العثور على ملف .python-version
الأول (إن وجد) عن طريق البحث في كل دليل الوالدين ، حتى الوصول إلى جذر نظام الملفات الخاص بك.
ملف $(pyenv root)/version
. يمكنك تعديل هذا الملف باستخدام الأمر pyenv global
. إذا لم يكن ملف الإصدار العالمي موجودًا ، يفترض Pyenv أنك ترغب في استخدام "النظام" Python (انظر أدناه).
يعني اسم " system
" الإصدار الخاص استخدام أي بيثون موجود على PATH
بعد إدخال PATH
Shims (بمعنى آخر ، مهما كان يتم تشغيله إذا لم يكن Pyenv Shims على PATH
). لاحظ أن Pyenv يعتبر تلك المنشآت خارج سيطرتها ولا تحاول فحصها أو التمييز عنها بأي شكل من الأشكال. على سبيل المثال ، إذا كنت على جهاز MacOS ولديك Python 3.8.9 المربوطة OS و Python المثبتة في المنزل 3.9.12 و 3.10.2-بالنسبة لـ Pyenv ، لا يزال هذا إصدارًا واحدًا " system
واحدًا" ، وأيًا كان ذلك أولاً على سيتم تشغيل PATH
تحت الاسم القابل للتنفيذ الذي حددته.
ملاحظة: يمكنك تنشيط إصدارات متعددة في نفس الوقت ، بما في ذلك إصدارات متعددة من Python2 أو Python3 في وقت واحد. هذا يسمح بالاستخدام الموازي لـ Python2 و Python3 ، وهو مطلوب مع أدوات مثل tox
. على سبيل المثال ، لإرشاد Pyenv لاستخدام النظام الخاص بك أولاً Python و Python3 (هما 2.7.9 و 3.4.2) ، ولكن أيضًا Python 3.3.6 و 3.2.1 و 2.5.2 متاح ، يمكنك أولاً pyenv install
المفقود الإصدارات ، ثم تعيين pyenv global system 3.3.6 3.2.1 2.5.2
. بعد ذلك ، ستتمكن من استدعاء أي من هذه الإصدارات باسم pythonX
أو pythonX.Y
المناسب. يمكنك أيضًا تحديد إصدارات متعددة في ملف .python-version
باليد ، مفصولة بواسطة الخطوط الجديدة. يتم تجاهل الخطوط التي تبدأ بـ #
.
pyenv which <command>
الذي سيتم تشغيله الحقيقي القابل للتنفيذ عند استدعاء <command>
عبر Shim. على سبيل المثال ، إذا كان لديك 3.3.6 و 3.2.1 و 2.5.2 تم تثبيتهما 3.3.6 و 2.5.2 ويكون نظامك البريثون 3.2.5 ، pyenv which python2.5
$(pyenv root)/versions/2.5.2/bin/python2.5
، pyenv which python3
$(pyenv root)/versions/3.3.6/bin/python3
pyenv which python3.2
(انظر أدناه).
يقع Shims أيضًا إلى أي شيء آخر على PATH
إذا لم يكن القابل للتنفيذ المقابل موجودًا في أي من عمليات تثبيت Python المحددة. يتيح لك ذلك استخدام أي برامج مثبتة في مكان آخر على النظام طالما أنها لا تظل مظللة بتثبيت Python محدد.
بمجرد أن يحدد Pyenv إصدار Python الذي حدده تطبيقك ، فإنه يمرر الأمر إلى جانب تثبيت Python المقابل.
يتم تثبيت كل إصدار Python في الدليل الخاص به تحت $(pyenv root)/versions
.
على سبيل المثال ، قد يكون لديك هذه الإصدارات مثبتة:
$(pyenv root)/versions/2.7.8/
$(pyenv root)/versions/3.4.2/
$(pyenv root)/versions/pypy-2.4.0/
بقدر ما يتعلق الأمر Pyenv ، فإن أسماء الإصدار هي ببساطة أدلة تحت $(pyenv root)/versions
.
تخطي هذا القسم ما لم يكن يجب أن تعرف ما يفعله كل سطر في ملف تعريف shell الخاص بك.
انظر أيضًا قسم متغيرات البيئة لمتغيرات البيئة التي تتحكم في سلوك Pyenv.
pyenv init
هو الأمر الوحيد الذي يعبر خط تحميل الأوامر الإضافية في قذيفة. قادم من RVM ، قد يعارض بعضكم هذه الفكرة. إليك ما يفعله eval "$(pyenv init -)"
في الواقع:
إعداد مسار الحشوات. هذا هو ما يسمح لـ Pyenv بتقاطع وإعادة توجيه دعامات python
، pip
إلخ بشفافية. إنه يعوق $(pyenv root)/shims
إلى $PATH
الخاص بك. كما أنه يحذف أي حالات أخرى من $(pyenv root)/shims
على PATH
الذي يسمح باستدعاء eval "$(pyenv init -)"
عدة مرات دون الحصول على إدخالات PATH
مكررة.
تثبيت الإكمال التلقائي. هذا اختياري تماما ولكنه مفيد جدا. مصادر $(pyenv root)/completions/pyenv.bash
سوف إعداد ذلك. هناك أيضا إكمال ل ZSH والأسماك.
إعادة صياغة الحشوات. من وقت لآخر ، ستحتاج إلى إعادة بناء ملفات Shim الخاصة بك. القيام بذلك في init ، يتأكد كل شيء محدث. يمكنك دائمًا تشغيل pyenv rehash
يدويًا.
يقوم بتثبيت pyenv
في القشرة الحالية كدالة shell. هذا البت هو أيضًا اختياري ، ولكنه يسمح لـ Pyenv و Plugins بتغيير المتغيرات في قشرةك الحالية. هذا مطلوب لبعض الأوامر مثل pyenv shell
للعمل. لا يقوم مرسل SH بأي شيء مجنون مثل تجاوز cd
المضغوط أو اختراق موجه الصدفة ، ولكن إذا كنت بحاجة لسبب ما إلى أن يكون pyenv
نصًا حقيقيًا بدلاً من وظيفة shell ، فيمكنك تخطيه بأمان.
eval "$(pyenv init --path)"
هل العناصر فقط 1 و 3.
لمعرفة ما يحدث بالضبط تحت الغطاء لنفسك ، قم بتشغيل pyenv init -
pyenv init --path
.
من المفترض أن يتم تشغيل eval "$(pyenv init -)"
في أي بدء تشغيل تفاعلي (بما في ذلك القذائف المتداخلة -على سبيل المثال تلك التي تم استدعاؤها من المحررين) بحيث تحصل على وظائف الإكمال والراحة.
يمكن استخدام eval "$(pyenv init --path)"
بدلاً من eval "$(pyenv init -)"
لتمكين الحشوات ، دون تكامل shell. يمكن أيضًا استخدامه لتصوير الحشوات إلى مقدمة PATH
بعد أن يكون هناك بعض المنطق الآخر على PATH
قد يظل حشوات Pyenv.
~/.profile
قبل دلائل bin
المستخدم إلى PATH
بعد الحصول على مصدر ~/.bashrc
. هذا يستلزم إلحاق استدعاء pyenv init
إلى ~/.profile
وكذلك ~/.bashrc
في هذه التوزيعات لأن PIP للنظام يضع التنفيذيين للوحدات النمطية التي تم تثبيتها من قبل مستخدم غير الجذر في دلائل bin
المستخدم. إذا كنت لا ترغب في استخدام pyenv init
و Shims ، فلا يزال بإمكانك الاستفادة من قدرة Pyenv على تثبيت إصدارات Python لك. ما عليك سوى تشغيل pyenv install
وستجد إصدارات مثبتة في $(pyenv root)/versions
.
يمكنك تنفيذها يدويًا أو قم بربطها على النحو المطلوب ، أو يمكنك استخدام pyenv exec <command>
كلما أردت أن تتأثر <command>
باختيار إصدار Pyenv كما تم تكوينه حاليًا.
يعمل pyenv exec
عن طريق إعداد $(pyenv root)/versions/<selected version>/bin
PATH
في بيئة <command>
، وهو ما يفعله Eg RVM.
يمكنك التأثير على كيفية عمل Pyenv مع متغيرات البيئة التالية:
اسم | تقصير | وصف |
---|---|---|
PYENV_VERSION | يحدد إصدار Python لاستخدامه. انظر أيضًا pyenv shell | |
PYENV_ROOT | ~/.pyenv | يحدد الدليل الذي يقيم فيه إصدارات Python و Shims. انظر أيضًا pyenv root |
PYENV_DEBUG | مخرجات معلومات التصحيح. أيضا كما: pyenv --debug <subcommand> | |
PYENV_HOOK_PATH | انظر ويكي | قائمة مفصولة القولون بالمسارات التي بحثت عن خطافات Pyenv. |
PYENV_DIR | $PWD | دليل للبدء في البحث عن ملفات .python-version . |
انظر أيضًا متغيرات البيئة الخاصة في README Python-Build لمتغيرات البيئة التي يمكن استخدامها لتخصيص البناء.
يتم استضافة رمز المصدر Pyenv على Github. إنه نظيف ومعيار وسهل الفهم ، حتى لو لم تكن متسلل قذيفة.
يتم تنفيذ الاختبارات باستخدام الخفافيش:
bats test
bats/test/<file>.bats
لا تتردد في إرسال طلبات السحب وخلل ملفات على تعقب المشكلات.
انظر المساهمة. md لمزيد من التفاصيل حول تقديم التغييرات.
انظر changelog.md.
ترخيص معهد ماساتشوستس للتكنولوجيا