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 และ/หรือขายสำเนาของซอฟต์แวร์และอนุญาตให้บุคคลที่ซอฟต์แวร์ได้รับการตกแต่งให้ทำเช่นนั้นภายใต้เงื่อนไขดังต่อไปนี้:
ประกาศลิขสิทธิ์ข้างต้นและประกาศการอนุญาตนี้จะรวมอยู่ในสำเนาทั้งหมดหรือส่วนสำคัญของซอฟต์แวร์
ซอฟต์แวร์มีให้ "ตามสภาพ" โดยไม่มีการรับประกันใด ๆ ไม่ว่าโดยชัดแจ้งหรือโดยนัยรวมถึง แต่ไม่ จำกัด เฉพาะการรับประกันความสามารถในการค้าการออกกำลังกายสำหรับวัตถุประสงค์เฉพาะและการไม่เข้าร่วม ไม่ว่าในกรณีใดผู้เขียนหรือผู้ถือลิขสิทธิ์จะต้องรับผิดชอบต่อการเรียกร้องความเสียหายหรือความรับผิดอื่น ๆ ไม่ว่าจะเป็นการกระทำของสัญญาการละเมิดหรืออื่น ๆ ซอฟต์แวร์.