pyenv هي أداة بسيطة لكنها قوية تسمح لك بإدارة إصدارات Python المتعددة على نظامك. كمطور بايثون، غالبًا ما تحتاج إلى العمل على مشاريع مختلفة تتطلب إصدارات بايثون مختلفة. يمكن أن تكون إدارة هذه الإصدارات يدويًا مرهقة وعرضة للأخطاء. وهنا يأتي دور pyenv، مما يسهل التبديل بين إصدارات Python، مما يضمن تشغيل مشاريعك دائمًا على الإصدار الصحيح.
إدارة الإصدار: التثبيت والتبديل بين إصدارات Python المختلفة دون عناء.
عزل المشروع: تأكد من أن كل مشروع يستخدم إصدار Python الصحيح، وتجنب مشكلات التوافق.
المرونة: اختبر التعليمات البرمجية الخاصة بك بسهولة على إصدارات متعددة من Python.
إذا واجهت في أي وقت مضى مشكلات تتعلق بتعارضات الإصدارات أو اضطررت إلى العمل مع كل من Python 2.x و3.x على نفس الجهاز، فسوف تقدر كيف يعمل pyenv على تبسيط سير عمل التطوير لديك.
pyenv يعمل بشكل جيد للغاية مع Poetry، وهي أداة تدير التبعيات وبيئات Python. إذا كنت على دراية بالشعر بالفعل (وإذا لم تكن كذلك، فاطلع على مقالتي حول البدء في استخدام الشعر)، ستجد أن دمجه مع pyenv يمنحك المزيد من التحكم في مشاريعك.
عندما تقوم بإنشاء مشروع جديد باستخدام Poetry، فإنه يستخدم تلقائيًا إصدار Python الذي قام pyenv بتعيينه للدليل. وهذا يضمن إدارة تبعيات مشروعك في بيئة تتوافق مع متطلبات مشروعك.
لنبدأ بتثبيت pyenv. تختلف عملية التثبيت حسب نظام التشغيل الخاص بك.
استخدام البيرة المنزلية:
brew update brew install pyenv
لتجنب الارتباط عن طريق الخطأ مع Python المقدم من Pyenv، أضف السطر التالي إلى تكوين Shell التفاعلي الخاص بك:
alias brew='env PATH="${PATH//$(pyenv root)\/shims:/}" brew'
alias brew="env PATH=(string replace (pyenv root)/shims '' \"\$PATH\") brew"
curl https://pyenv.run | bash
بعد التثبيت، أضف ما يلي إلى ملف تكوين Shell الخاص بك (على سبيل المثال، .bashrc، .zshrc):
export PATH="$HOME/.pyenv/bin:$PATH" eval "$(pyenv init -)" eval "$(pyenv virtualenv-init -)"
sudo pacman -S pyenv
أضف الأوامر إلى ~/.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
لـ Zsh:
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc echo '[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc echo 'eval "$(pyenv init -)"' >> ~/.zshrc
للأسماك:
إذا كان لديك 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
لمزيد من التفاصيل، راجع GitHub.
1) التحقق من إصدار بايثون
للتحقق من إصدار بايثون المستخدم حاليًا:
❯ pyenv versions * system (set by /home/shanu/.pyenv/version)
2) تثبيت إصدارات بايثون
باستخدام pyenv، يمكنك تثبيت أي إصدار من Python بسهولة:
❯ pyenv install 3.11.9
بعد تثبيت إصدار بايثون، يمكن تعيينه عالميًا أو محليًا لمشروع
3) إعداد إصدار بايثون العالمي
لا ينصح به، قد يسبب مشاكل في نظامك
يمكنك تعيين إصدار Python عالمي ليتم استخدامه افتراضيًا عبر نظامك:
pyenv global 3.10.6
4) تحديد إصدار بايثون المحلي
يمكنك أيضًا تعيين إصدار Python محلي لدليل مشروع محدد. سيتجاوز هذا الإصدار الإصدار العالمي عندما تكون في هذا الدليل:
❯ pyenv local 3.8.10 ❯ pyenv versions system * 3.11.9 (set by /home/shanu/test_folder/.python-version) ❯ python -V Python 3.11.9 (my global version is 3.12.5)
لإلغاء تعيينه، فقط قم بتشغيل:
❯ pyenv local --unset ❯ pyenv versions * system (set by /home/shanu/.pyenv/version) 3.11.9 ❯ python -V Python 3.12.5
5) إلغاء تثبيت إصدارات بايثون
لإلغاء تثبيت إصدار Python الذي لم تعد هناك حاجة إليه:
pyenv uninstall 3.11.9
Pyenv هي أداة لا تقدر بثمن لمطوري لغة Python، خاصة عند استخدامها مع الشعر. من خلال إدارة إصدارات Python دون عناء، يسمح لك بالتركيز على كتابة التعليمات البرمجية بدلاً من القلق بشأن تعارضات الإصدارات. جربه في مشروع بايثون القادم الخاص بك!
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3