อาจจำเป็นต้องใช้แพ็คเกจ Python ของเวอร์ชันเฉพาะในขณะที่พัฒนาแอปพลิเคชันที่ใช้ Python อย่างไรก็ตาม หากติดตั้งแพ็คเกจเดียวกันในเวอร์ชันนี้เพื่อการใช้งานทั้งระบบ อาจขัดแย้งกับข้อกำหนดของแอปพลิเคชันอื่น ดังนั้นจึงต้องการให้มีสภาพแวดล้อมแบบเคียงข้างกันสำหรับวัตถุประสงค์แต่ละอย่างเพื่อแก้ไขปัญหาความเข้ากันได้
Virtual Environments อนุญาตให้ติดตั้งแพ็คเกจ Python ในตำแหน่งที่แยกจากกันสำหรับแอปพลิเคชันเฉพาะ แทนที่จะติดตั้งทั่วโลก
โมดูล venv ในไลบรารีมาตรฐานของ Python ใช้เพื่อสร้างสภาพแวดล้อมเสมือน สภาพแวดล้อมเสมือนคือไดเร็กทอรีในระบบไฟล์ที่มีสำเนาของตัวแปล Python และสคริปต์อื่นๆ คำสั่งต่อไปนี้จะสร้างสภาพแวดล้อมเสมือนในไดเร็กทอรีที่มีชื่อ
C:\python37>python -m venv e:\testenv
คุณจะพบไดเร็กทอรีใหม่ที่สร้างขึ้นตามที่ระบุ ด้านบนสามารถเลือกใช้สวิตช์ต่อไปนี้ได้
--system-site-packages | ให้สิทธิ์การเข้าถึงสภาพแวดล้อมเสมือนกับ dir แพ็คเกจไซต์ของระบบ |
--symlinks | ลองใช้ลิงก์ซิมแทนการคัดลอก |
--สำเนา | พยายามใช้การคัดลอกแทนการใช้ symlink |
--clear | ลบเนื้อหาของไดเร็กทอรีสภาพแวดล้อมหากมีอยู่ |
--upgrade | อัปเกรดไดเร็กทอรีสภาพแวดล้อมเพื่อใช้ Python . เวอร์ชันนี้ |
--without-pip | ข้ามการติดตั้งหรืออัปเกรด pip ในสภาพแวดล้อมเสมือน (pip ถูกบูตโดยค่าเริ่มต้น) |
โฟลเดอร์ 'สคริปต์' ภายใต้ ENV_DIR (ในกรณีนี้คือ testenv) มีสำเนาในเครื่องของล่าม Python, โปรแกรมติดตั้ง pip และสคริปต์เพื่อเปิดใช้งานและปิดใช้งานสภาพแวดล้อม
activate activate.bat activate.ps1 deactivate.bat easy_install-3.7.exe easy_install.exe pip.exe pip3.7.exe pip3.exe python.exe pythonw.exe
เปิดใช้งานสภาพแวดล้อมเสมือน
ในการเริ่ม Python ในสภาพแวดล้อมที่แยกออกมา จะต้องเปิดใช้งานก่อน เพื่อจุดประสงค์นี้ ต้องเรียกใช้ 'activate.bat' จากบรรทัดคำสั่ง
E:\testenv>scripts\activate (testenv) E:\testenv>python Python 3.7.2 (tags/v3.7.2:9a3ffc0492, Dec 23 2018, 23:09:28) [MSC v.1916 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>>
ชื่อของสภาพแวดล้อมเสมือนปรากฏในวงเล็บทางด้านซ้ายของพรอมต์ DOS ตอนนี้คุณสามารถ Python ในสภาพแวดล้อมเสมือนได้
หากมีการติดตั้งแพ็คเกจโดยใช้ยูทิลิตี้ pip3 ในโฟลเดอร์สคริปต์ของสภาพแวดล้อมเสมือน แพ็คเกจนั้นจะถูกติดตั้งในเครื่องและจะไม่สามารถใช้งานได้ทั้งระบบ
ปิดใช้งานสภาพแวดล้อมเสมือน
หากต้องการกลับสู่สภาพแวดล้อมปกติ สภาพแวดล้อมเสมือนควรปิดใช้งานโดยใช้ 'deactivate.bat' ในโฟลเดอร์สคริปต์
>>> quit() (testenv) E:\testenv>scripts\deactivate E:\testenv>
สำหรับ Python เวอร์ชันก่อน 3.3 ให้ใช้ virtualenv ซึ่งต้องติดตั้งแยกต่างหาก
โมดูล venv กำหนดคลาส EnvironmentBuilder สำหรับการสร้างสภาพแวดล้อมเสมือนโดยทางโปรแกรม