Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

การสร้างสภาพแวดล้อมเสมือนโดยใช้ Python


อาจจำเป็นต้องใช้แพ็คเกจ 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 สำหรับการสร้างสภาพแวดล้อมเสมือนโดยทางโปรแกรม