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.
(ترخيص معهد ماساتشوستس للتكنولوجيا)
يتم منح الإذن بموجب هذا ، مجانًا ، لأي شخص يحصل على نسخة من هذا البرنامج وملفات الوثائق المرتبطة ("البرنامج") ، للتعامل في البرنامج دون تقييد ، بما في ذلك على سبيل المثال لا الحصر حقوق استخدام ، نسخ ، تعديل ، دمج أو نشر نسخ وتوزيعها و/أو بيعها و/أو بيع نسخ من البرامج ، والسماح للأشخاص الذين يتم تقديم البرنامج لهم للقيام بذلك ، مع مراعاة الشروط التالية:
يجب إدراج إشعار حقوق الطبع والنشر أعلاه وإشعار الإذن هذا في جميع النسخ أو الأجزاء الكبيرة من البرنامج.
يتم توفير البرنامج "كما هو" ، دون أي ضمان من أي نوع ، صريح أو ضمني ، بما في ذلك على سبيل المثال لا الحصر ضمانات القابلية للتسويق واللياقة لغرض معين وعدم الانفجار. لن يكون المؤلفون أو حاملي حقوق الطبع والنشر بأي حال من الأحوال مسؤولاً عن أي مطالبة أو أضرار أو مسؤولية أخرى ، سواء في إجراء عقد أو أضرار أو غير ذلك ، ناشئة عن البرامج أو خارجها أو الاستخدام أو غيرها برمجة.