Pyenv-Virtualenv เป็นปลั๊กอิน PyenV ที่มีคุณสมบัติในการจัดการสภาพแวดล้อม virtualenvs และ conda สำหรับ Python ในระบบที่มีลักษณะคล้าย UNIX
(ข้อสังเกต: หากคุณเป็นผู้ใช้ที่มีอยู่ของ VirtualEnVwrapper และคุณชอบมัน Pyenv-VirtualenVwrapper อาจช่วยคุณ (นอกจากนี้) ในการจัดการ VirtualEnvs ของคุณ)
สิ่งนี้จะติดตั้งเวอร์ชันการพัฒนาล่าสุดของ Pyenv-Virtualenv ลงในไดเรกทอรี $(pyenv root)/plugins/pyenv-virtualenv
หมายเหตุสำคัญ: หากคุณติดตั้ง PyenV ลงในไดเรกทอรีที่ไม่ได้มาตรฐานตรวจสอบให้แน่ใจว่าคุณโคลน repo นี้ลงในไดเรกทอรี 'ปลั๊กอิน' ของทุกที่ที่คุณติดตั้ง
จากภายในไดเรกทอรีนั้นคุณสามารถ:
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 ลงในเชลล์ของคุณ เพื่อเปิดใช้งานการเปิดใช้งานอัตโนมัติของ virtualenvs นี่เป็นทางเลือกทั้งหมด แต่มีประโยชน์ค่อนข้างมาก ดู "เปิดใช้งาน VirtualEnv" ด้านล่าง
echo ' eval "$(pyenv virtualenv-init -)" ' >> ~ /.bashrc Shell Shell หมายเหตุ : เพิ่มสิ่งนี้ลงใน ~/.config/fish/config.fish ของคุณ
status --is-interactive ; and pyenv virtualenv-init - | source ZSH หมายเหตุ : แก้ไขไฟล์ ~/.zshrc ของคุณแทน ~/.bashrc
รีสตาร์ทเชลล์ของคุณเพื่อเปิดใช้งาน pyenv-virtualenv
exec " $SHELL " ผู้ใช้ MACOS สามารถติดตั้ง Pyenv-Virtualenv ด้วย HomeBrew Package Manager สิ่งนี้จะช่วยให้คุณสามารถเข้าถึงคำสั่ง pyenv-virtualenv หากคุณติดตั้ง Pyenv คุณจะสามารถใช้คำสั่ง pyenv virtualenv ได้
นี่เป็นวิธีการติดตั้งที่แนะนำหากคุณติดตั้ง PyenV ด้วย Homebrew
brew install pyenv-virtualenvหรือถ้าคุณต้องการติดตั้งรีลีสการพัฒนาล่าสุด:
brew install --HEAD pyenv-virtualenvหลังจากการติดตั้งคุณจะต้องทำขั้นตอนการตั้งค่าเชลล์ Pyenv แล้วเพิ่ม
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)มีสองรายการสำหรับ VirtualEnV แต่ละรายการและรายการที่สั้นกว่านั้นเป็นเพียง symlink
เครื่องมือภายนอกบางอย่าง (เช่น Jedi) อาจทำให้คุณต้อง activate สภาพแวดล้อม VirtualEnV และ conda
ถ้า eval "$(pyenv virtualenv-init -)" ได้รับการกำหนดค่าในเชลล์ของคุณ pyenv-virtualenv จะเปิดใช้งาน/ปิดการใช้งาน VirtualEnVs โดยอัตโนมัติในการป้อน/ออกจากไดเรกทอรีซึ่งมีไฟล์ .python-version ที่มีชื่อของสภาพแวดล้อมเสมือนจริงที่ถูกต้อง แสดงในผลลัพธ์ของ 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 ถ้าตั้งค่าแสดงผลลัพธ์ verbose บางอย่างเกี่ยวกับการเปิดใช้งานและการปิดการใช้งานPYENV_VIRTUALENV_PROMPT หากตั้งค่าให้ผู้ใช้สามารถปรับแต่งวิธีที่ pyenv-virtualenv ปรับเปลี่ยนพรอมต์เชลล์ของพวกเขา พรอมต์เริ่มต้น ("(venv)") ถูกเขียนทับด้วยข้อความที่ผู้ใช้ระบุ ระบุตำแหน่งของชื่อสภาพแวดล้อมเสมือนจริงด้วยสตริง {venv} ตัวอย่างเช่นสตริงพรอมต์เริ่มต้นจะเป็น ({venv}) ดู Changelog.md
(ใบอนุญาต MIT)
ได้รับอนุญาตโดยไม่เสียค่าใช้จ่ายสำหรับบุคคลใด ๆ ที่ได้รับสำเนาซอฟต์แวร์นี้และไฟล์เอกสารที่เกี่ยวข้อง ("ซอฟต์แวร์") เพื่อจัดการในซอฟต์แวร์โดยไม่มีการ จำกัด รวมถึง แต่ไม่ จำกัด เฉพาะสิทธิ์ในการใช้คัดลอกแก้ไขผสาน เผยแพร่แจกจ่าย sublicense และ/หรือขายสำเนาของซอฟต์แวร์และอนุญาตให้บุคคลที่ซอฟต์แวร์ได้รับการตกแต่งให้ทำเช่นนั้นภายใต้เงื่อนไขดังต่อไปนี้:
ประกาศลิขสิทธิ์ข้างต้นและประกาศการอนุญาตนี้จะรวมอยู่ในสำเนาทั้งหมดหรือส่วนสำคัญของซอฟต์แวร์
ซอฟต์แวร์มีให้ "ตามสภาพ" โดยไม่มีการรับประกันใด ๆ ไม่ว่าโดยชัดแจ้งหรือโดยนัยรวมถึง แต่ไม่ จำกัด เฉพาะการรับประกันความสามารถในการค้าการออกกำลังกายสำหรับวัตถุประสงค์เฉพาะและการไม่เข้าร่วม ไม่ว่าในกรณีใดผู้เขียนหรือผู้ถือลิขสิทธิ์จะต้องรับผิดชอบต่อการเรียกร้องความเสียหายหรือความรับผิดอื่น ๆ ไม่ว่าจะเป็นการกระทำของสัญญาการละเมิดหรืออื่น ๆ ซอฟต์แวร์.