"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > إدارة إصدار بايثون مع PyEnv

إدارة إصدار بايثون مع PyEnv

تم النشر بتاريخ 2024-11-04
تصفح:999

Python Version Management with PyEnv

مرجع الأمر (تعليمات التثبيت والإعداد أدناه):

# List all versions of python interpreters available to install:
pyenv install -l
# List all versions of CPython (the default interpreter) available to install:
pyenv install -l | grep -E '^\s*[0-9]'
# Install specified version. In this case it installs 3.12.6
pyenv install 3.12.6
# List versions installed locally:
pyenv versions
# See global version
pyenv global
# Set global version to x.x.x; in this case it sets to 3.12.6
pyenv global 3.12.6
# See local version
pyenv local
# Set global version to x.x.x; in this case it sets to 2.7.18
pyenv global 3.12.6

مقدمة إلى PyEnv

تعد إدارة إصدارات اللغات المختلفة والمترجمين الفوريين منطقة رمادية إلى حد ما في عالم Pythonic اعتبارًا من سبتمبر 2024، ولكن بالطبع لدى المجتمع حلول "غير رسمية" تتحايل على هذه المشكلة.
أحد الحلول الجيدة على وجه الخصوص هو PyEnv، الذي يستعير بشكل كبير من حلول Ruby لإدارة الإصدارات، وهو أمر تقوم به Ruby بشكل جيد للغاية.
PyEnv عبارة عن مجموعة من نصوص shell التي تساعد على تثبيت واختيار إصدار أو مترجم محدد لبايثون، في النطاقين العالمي والمحلي.
إنه يعمل عن طريق إدراج دليل للحشوات في PATH وسيعيد صياغة الرقائق وفقًا لشروط محددة من أجل تعيين ثنائي بايثون (بالإضافة إلى إعدادات أخرى مثل تعيين النقاط، وتبديل بيئة PYTHON_VERSION، وما إلى ذلك).
سيركز هذا الدليل على MacOS وتوزيعات Debian-family linux، وسيغطي الإعداد على كل من bash وzsh. لن يغطي pyenv-win.

تثبيت PyEnv

ماك

يفترض هذا أنه تم تثبيت أدوات البيرة المنزلية وxcode.
سيقوم السطر الأول بتثبيت التبعيات لتثبيت وبناء إصدارات بايثون.
السطر الثاني سيقوم بتثبيت pyenv نفسه.
السطر الثالث اختياري وسيُلحق تحميل pyenv قبل تشغيل Brew لتجنب التحذير الإيجابي الكاذب عند تشغيل Brew Doctor ولتجنب الأخطاء في حالة تطوير حزم Brew python. لاحظ أنه يتم وضعه في .zshrc، ويجب أن يكون zsh ممكنًا افتراضيًا على جهاز Mac الخاص بك إلا إذا كان جهازًا قديمًا، وفي هذه الحالة يجب عليك على الأرجح إلحاقه بـ .bash_profile.

brew install openssl readline sqlite3 xz zlib tcl-tk && \
brew install pyenv \
&& echo "alias brew='env PATH=\"${PATH//$(pyenv root)\/shims:/}\" brew'" >> ~/.zshrc

لينكس (المعتمد على ديبيان)

أولاً، قم بتثبيت التبعيات.
بعد ذلك، انسخ المستودع العام إلى $HOME/.pyenv.

sudo apt update && sudo apt install build-essential \
libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite3-dev curl git \
libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev && \
git clone https://github.com/pyenv/pyenv.git $HOME/.pyenv

ما بعد التثبيت (كل من MacOS وLinux)

أضف هذا إلى ملف تكوين Shell ذي الصلة، .bash_profile إذا كنت تستخدم bash، أو .zshrc إذا كنت تستخدم zsh. اكتشف أي منها باستخدام echo $SHELL إذا لم تكن متأكدًا.

## pyenv configs
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"

if command -v pyenv 1>/dev/null 2>&1; then
  eval "$(pyenv init -)"
fi

أخيرًا، قم بتحديث البيئة الطرفية لديك لرؤية التغييرات باستخدام exec "$SHELL".

بعد هذا الإعداد، سيتم تعيين python الخاص بك (وليس python3!) إلى إصدار python الخاص بك الذي تم إعداده باستخدام pyenv.
أنصحك بعد ذلك بتثبيت إصدار بايثون (انظر مرجع الأمر أعلاه) وإعداده كإصدار عالمي.
تأكد من أن كل شيء يعمل مع python --version لمعرفة ما إذا كان الإصدار المثبت لديك يطابق الإصدار الذي اخترته. إذا لم يحدث ذلك، فمن المحتمل أنه لا يزال يشير إلى الوضع الافتراضي للنظام، لذلك ربما تكون قد تراجعت عن إحدى الخطوات أدناه (من المحتمل الجزء الخاص بتحديث الوحدة الطرفية، وإغلاق نافذة الوحدة الطرفية وإعادة فتحها إذا لم تكن متأكدًا مما يجب فعله ).

استمتع بإدارة إصدار بايثون الأكثر عقلانية!

بيان الافراج تم نشر هذه المقالة على: https://dev.to/otamm/python-version-management-with-pyenv-3fig?1 إذا كان هناك أي انتهاك، يرجى الاتصال بـ [email protected] لحذفه
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3