Pyenv-Virtualenv هو مكون إضافي Pyenv يوفر ميزات لإدارة بيئات VirtualEnvs و Conda لـ Python على أنظمة تشبه Unix.
(إشعار: إذا كنت مستخدمًا حاليًا لـ VirtualEnvwrapper وأنت تحبها ، فقد يساعدك Pyenv-VirtualEnvwrapper (بالإضافة إلى ذلك) على إدارة VirtualEnvs.)
سيؤدي ذلك إلى تثبيت أحدث إصدار تطوير من Pyenv-VirtualenV في دليل $(pyenv root)/plugins/pyenv-virtualenv .
ملاحظة مهمة: إذا قمت بتثبيت Pyenv في دليل غير قياسي ، فتأكد من استنساخ هذا الريبو في دليل "الإضافات" من أينما قمت بتثبيت.
من داخل هذا الدليل يمكنك:
git pull لتنزيل أحدث التغييرات.تحقق من Pyenv-Virtualenv في دليل البرنامج المساعد
git clone https://github.com/pyenv/pyenv-virtualenv.git $( pyenv root ) /plugins/pyenv-virtualenvلقذيفة السمك:
git clone https://github.com/pyenv/pyenv-virtualenv.git (pyenv root)/plugins/pyenv-virtualenv (اختياري) أضف pyenv virtualenv-init إلى قشرة الخاص بك لتمكين التنشيط التلقائي من الافتراضات. هذا اختياري تماما ولكنه مفيد جدا. انظر "تنشيط VirtualEnv" أدناه.
echo ' eval "$(pyenv virtualenv-init -)" ' >> ~ /.bashrc ملاحظة قذيفة السمك : أضف هذا إلى ~/.config/fish/config.fish
status --is-interactive ; and pyenv virtualenv-init - | source ZSH ملاحظة : تعديل ملف ~/.zshrc بدلاً من ~/.bashrc .
أعد تشغيل قشرتك لتمكين Pyenv-Virtualenv
exec " $SHELL " يمكن لمستخدمي MacOS تثبيت Pyenv-Virtualenv مع مدير الحزمة Homebrew. سيمنحك هذا إمكانية الوصول إلى أمر pyenv-virtualenv . إذا قمت بتثبيت Pyenv ، فستتمكن أيضًا من استخدام أمر pyenv virtualenv .
هذه هي الطريقة الموصى بها للتثبيت إذا قمت بتثبيت Pyenv مع Homebrew.
brew install pyenv-virtualenvأو ، إذا كنت ترغب في تثبيت أحدث إصدار للتطوير:
brew install --HEAD pyenv-virtualenvبعد التثبيت ، لا تزال بحاجة إلى القيام بخطوات إعداد Pyenv Shell ثم أضف
eval " $( pyenv virtualenv-init - ) " إلى ملف .rc الخاص بك (كما هو مذكور في التحذيرات). سيكون عليك فقط القيام بذلك مرة واحدة.
pyenv virtualenv مع pyenv لإنشاء VirtualEnv لإصدار Python المستخدمة مع Pyenv ، قم بتشغيل pyenv virtualenv ، مع تحديد إصدار Python الذي تريده واسم دليل VirtualEnV. على سبيل المثال،
pyenv virtualenv 2.7.10 my-virtual-env-2.7.10 سيتم إنشاء VirtualEnv استنادًا إلى Python 2.7.10 تحت $(pyenv root)/versions في مجلد يسمى my-virtual-env-2.7.10 .
يقوم pyenv virtualenv بإعادة توجيه أي خيارات إلى الأمر الأساسي الذي يخلق بالفعل البيئة الافتراضية ( conda أو virtualenv أو python -m venv ). راجع إخراج pyenv virtualenv --help للحصول على التفاصيل.
إذا كانت هناك وسيطة واحدة فقط تُمنح لـ pyenv virtualenv ، فسيتم إنشاء VirtualEnv مع الاسم المحدد استنادًا إلى إصدار Pyenv Python الحالي.
$ pyenv version
3.4.3 (set by /home/yyuu/.pyenv/version)
$ pyenv virtualenv venv34 يعرض لك pyenv virtualenvs قائمة بيئات VirtualEnVs و conda الموجودة.
$ pyenv shell venv34
$ pyenv virtualenvs
miniconda3-3.9.1 (created from /home/yyuu/.pyenv/versions/miniconda3-3.9.1)
miniconda3-3.9.1/envs/myenv (created from /home/yyuu/.pyenv/versions/miniconda3-3.9.1)
2.7.10/envs/my-virtual-env-2.7.10 (created from /home/yyuu/.pyenv/versions/2.7.10)
3.4.3/envs/venv34 (created from /home/yyuu/.pyenv/versions/3.4.3)
my-virtual-env-2.7.10 (created from /home/yyuu/.pyenv/versions/2.7.10)
* venv34 (created from /home/yyuu/.pyenv/versions/3.4.3)هناك اثنين من الإدخالات لكل افتراضية ، والأقصر هو مجرد ارتباط.
قد تتطلب منك بعض الأدوات الخارجية (على سبيل المثال JEDI) activate بيئات VirtualEnV و conda .
إذا تم تكوين eval "$(pyenv virtualenv-init -)" في قذيفك ، .python-version pyenv-virtualenv بتنشيط/إلغاء تنشيط VirtualEnvs تلقائيًا عند إدخال/ترك الدلائل التي تحتوي يظهر في إخراج pyenv virtualenvs (على سبيل المثال ، venv34 أو 3.4.3/envs/venv34 في المثال أعلاه). يتم استخدام ملفات .python-version بواسطة Pyenv للإشارة إلى إصدارات Python المحلية ويمكن إنشاءها وحذفها باستخدام أمر pyenv local .
يمكنك أيضًا تفعيل وإلغاء تنشيط Pyenv VirtualenV يدويًا:
pyenv activate < name >
pyenv deactivate إزالة الدلائل في $(pyenv root)/versions و $(pyenv root)/versions/{version}/envs سوف يحذف VirtualEnv ، أو يمكنك تشغيل:
pyenv uninstall my-virtual-env يمكنك أيضًا حذف VirtualEnvs الموجودة باستخدام أمر virtualenv-delete ، على سبيل المثال ، يمكنك تشغيل:
pyenv virtualenv-delete my-virtual-env سيؤدي هذا إلى حذف VirtualEnv يسمى my-virtual-env .
هناك وحدة VenV متاحة لـ Cpython 3.3 وأحدث. يوفر وحدة venv قابلة للتنفيذ وهي خليفة لـ virtualenv وتوزيعها افتراضيًا.
يستخدم pyenv-virtualenv python -m venv إذا كان متاحًا ولم يتوفر أمر virtualenv .
يمكنك إدارة بيئات conda عن طريق conda create نفس الطريقة مثل عمليات تثبيت Anaconda/Miniconda القياسية. لاستخدام هذه البيئات ، يمكنك استخدام pyenv activate وإلغاء pyenv deactivate .
$ pyenv version
miniconda3-3.9.1 (set by /home/yyuu/.pyenv/version)
$ conda env list
# conda environments:
#
myenv /home/yyuu/.pyenv/versions/miniconda3-3.9.1/envs/myenv
root * /home/yyuu/.pyenv/versions/miniconda3-3.9.1
$ pyenv activate miniconda3-3.9.1/envs/myenv
discarding /home/yyuu/.pyenv/versions/miniconda3-3.9.1/bin from PATH
prepending /home/yyuu/.pyenv/versions/miniconda3-3.9.1/envs/myenv/bin to PATH
$ python --version
Python 3.4.3 :: Continuum Analytics, Inc.
$ pyenv deactivate
discarding /home/yyuu/.pyenv/versions/miniconda3-3.9.1/envs/myenv/bin from PATH إذا كانت conda متوفرة ، فسيستخدم pyenv virtualenv لإنشاء بيئة بواسطة conda create .
$ pyenv version
miniconda3-3.9.1 (set by /home/yyuu/.pyenv/version)
$ pyenv virtualenv myenv2
$ conda env list
# conda environments:
#
myenv /home/yyuu/.pyenv/versions/miniconda3-3.9.1/envs/myenv
myenv /home/yyuu/.pyenv/versions/miniconda3-3.9.1/envs/myenv2
root * /home/yyuu/.pyenv/versions/miniconda3-3.9.1 يمكنك استخدام الإصدار مثل miniconda3-3.9.1/envs/myenv لتحديد بيئة conda كإصدار في Pyenv.
$ pyenv version
miniconda3-3.9.1 (set by /home/yyuu/.pyenv/version)
$ pyenv shell miniconda3-3.9.1/envs/myenv
$ which python
/home/yyuu/.pyenv/versions/miniconda3-3.9.1/envs/myenv/bin/pythonيمكنك تعيين بعض متغيرات البيئة للتحكم في Pyenv-Virtualenv.
PYENV_VIRTUALENV_CACHE_PATH ، إذا تم تعيينه ، يحدد دليلًا لاستخدامه في تخزين ملفات الحزمة التي تم تنزيلها.VIRTUALENV_VERSION ، إذا تم تعيينه ، يجبر Pyenv-Virtualenv لتثبيت الإصدار المطلوب من VirtualEnv. إذا لم يتم تثبيت virtualenv ، فسيحاول Pyenv-Virtualenv تثبيت الإصدار المحدد من VirtualEnV.GET_PIP ، إذا تم تعيين تعيين و venv على virtualenv ، استخدم get_pip.py من الموقع المحدد.GET_PIP_URL ، إذا تم تعيين تعيين و venv عبر virtualenv ، قم بتنزيل get_pip.py من عنوان URL المحدد.PIP_VERSION ، إذا تم تعيين تعيين و venv على virtualenv ، قم بتثبيت الإصدار المحدد من PIP.PYENV_VIRTUALENV_VERBOSE_ACTIVATE ، إذا تم تعيينه ، يظهر بعض المخرجات المطول عند التنشيط وإلغاء التنشيطPYENV_VIRTUALENV_PROMPT ، إذا تم تعيينه ، للمستخدمين بتخصيص كيفية تعديل pyenv-virtualenv . يتم كتابة المطالبة الافتراضية ("(VENV)") مع أي نص محدد من قبل المستخدم. حدد موقع اسم البيئة الظاهرية مع السلسلة {venv} . على سبيل المثال ، ستكون سلسلة المطالبة الافتراضية ({venv}) . انظر changelog.md.
(ترخيص معهد ماساتشوستس للتكنولوجيا)
يتم منح الإذن بموجب هذا ، مجانًا ، لأي شخص يحصل على نسخة من هذا البرنامج وملفات الوثائق المرتبطة ("البرنامج") ، للتعامل في البرنامج دون تقييد ، بما في ذلك على سبيل المثال لا الحصر حقوق استخدام ، نسخ ، تعديل ، دمج أو نشر نسخ وتوزيعها و/أو بيعها و/أو بيع نسخ من البرامج ، والسماح للأشخاص الذين يتم تقديم البرنامج لهم للقيام بذلك ، مع مراعاة الشروط التالية:
يجب إدراج إشعار حقوق الطبع والنشر أعلاه وإشعار الإذن هذا في جميع النسخ أو الأجزاء الكبيرة من البرنامج.
يتم توفير البرنامج "كما هو" ، دون أي ضمان من أي نوع ، صريح أو ضمني ، بما في ذلك على سبيل المثال لا الحصر ضمانات القابلية للتسويق واللياقة لغرض معين وعدم الانفجار. لن يكون المؤلفون أو حاملي حقوق الطبع والنشر بأي حال من الأحوال مسؤولاً عن أي مطالبة أو أضرار أو مسؤولية أخرى ، سواء في إجراء عقد أو أضرار أو غير ذلك ، ناشئة عن البرامج أو خارجها أو الاستخدام أو غيرها برمجة.