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

Python Virtual Environment


แนะนำตัว

นักพัฒนามักจะจัดการกับโปรเจ็กต์ python ที่พวกเขาต้องใช้โมดูลและแพ็คเกจซึ่งไม่ได้เป็นส่วนหนึ่งของไลบรารีมาตรฐานของ python และพวกเขาต้องการมันสำหรับแอพพลิเคชั่นนี้เท่านั้น พิจารณากรณีที่คุณได้ติดตั้งเวอร์ชันปัจจุบันของ python (สมมติว่าเป็น python-3.6) แต่โปรเจ็กต์ของคุณต้องการ python เวอร์ชันเฉพาะ - 2.7 สำหรับแอปพลิเคชันนี้โดยเฉพาะ ดังนั้นจึงไม่ใช่แค่แพ็คเกจใหม่ แต่อาจมีความต้องการเฉพาะ เวอร์ชันของแอปพลิเคชันที่คุณติดตั้งไว้แล้ว จากนั้นข้อกำหนดจะขัดแย้งกัน และการติดตั้งเวอร์ชัน 2.7 หรือ 3.6 จะทำให้แอปพลิเคชันหนึ่งไม่สามารถเรียกใช้ได้

ทางออกหนึ่งในการแก้ไขสถานการณ์เหล่านี้คือการสร้างสภาพแวดล้อมเสมือนสำหรับโครงการของคุณ Virutalenv เป็นเครื่องมือชนิดหนึ่งที่ช่วยให้เราสร้างสภาพแวดล้อมหลามแบบแยกได้ Virtualenv สร้างโฟลเดอร์ในตัวเองซึ่งมีไฟล์เรียกทำงานที่จำเป็นทั้งหมดเพื่อใช้แพ็คเกจที่โปรเจ็กต์ Python ต้องการในโปรเจ็กต์

ทำไมเราถึงต้องการมัน

วัตถุประสงค์หลักของการใช้ virtualenv (เครื่องมือสภาพแวดล้อมเสมือน) คือการแก้ไขปัญหาการพึ่งพา เวอร์ชัน (ของแพ็คเกจหลาม) และการอนุญาตทางอ้อม

ข้อกำหนดสำหรับการติดตั้ง Virtual Environment

อย่างแรกเลย คุณต้องติดตั้ง python ในเครื่องของคุณ (ไม่จำเป็นต้องเป็นเวอร์ชันล่าสุด) และ pip ​​package manager อย่างไรก็ตาม หากคุณใช้ python เวอร์ชัน 3.4 หรือสูงกว่า pip จะถูกรวมไว้ตามค่าเริ่มต้น (มาเป็นไลบรารี่มาตรฐานของ python) ในกรณีที่คุณไม่มีเลย ขอแนะนำให้ติดตั้งก่อน

การสร้างสภาพแวดล้อมเสมือนจริง

เปิดพรอมต์คำสั่งของคุณ (พิมพ์ cmd ในเทอร์มินัลรันของคุณ) ไปที่เส้นทางไดเรกทอรี (ตำแหน่ง) ที่คุณต้องการติดตั้งสภาพแวดล้อมเสมือน

ในกรณีที่คุณไม่ได้ใช้ python 3.x คุณต้องติดตั้งเครื่องมือ virtualenv ด้วย pip

เชลล์

pip install virtualenv

ในกรณีที่ติดตั้ง virtualenv แล้ว (ไม่ว่าคุณจะใช้เวอร์ชัน python 3 หรือคุณไม่ทราบว่าติดตั้ง virtualenv แล้ว) การรันคำสั่งด้านบนจะทำให้คุณมีข้อความบางอย่างเช่น

>pip install virtualenv
Requirement already satisfied: virtualenv in c:\python\python361\lib\site-packages (15.1.0)

เริ่มต้นด้วยการสร้างโฟลเดอร์ใหม่เพื่อใช้งาน

เชลล์

mkdir python-virtual-environments && cd python-virtual-environments

หลังจากรันคำสั่งข้างต้น คุณจะอยู่ในโฟลเดอร์ที่สร้างขึ้นใหม่ ตอนนี้สร้างสภาพแวดล้อมเสมือนใหม่ภายในไดเร็กทอรี (ไดเร็กทอรีที่คุณสร้างด้านบน)

เชลล์

#สำหรับรุ่น python 2.x -

virtualenv myenv

# สำหรับรุ่น python 3.x -

python -m venv myenv

สคริปต์ด้านบนจะสร้างชื่อโฟลเดอร์ใหม่ myenv พร้อมไดเร็กทอรีและไฟล์จำนวนมาก โดยมีโครงสร้างไดเร็กทอรีคล้ายกับด้านล่าง -

├── Include
│ ├── abstract.h
│ ├── accu.h
│ ├── asdl.h
│ ├── ast.h
│ ├── bitset.h
………
├── Lib
│ ├── __future__.py
│ ├── __pycache__
│ ├── _bootlocale.py
│ ├── _collections_abc.py
│ ├── _dummy_thread.py
│ ├── _weakrefset.py
│ ├── abc.py
│ ├── base64.py
│ ├── bisect.py
│ ├── codecs.py
……
├── pip-selfcheck.json
├── Scripts
│ ├── activate
│ ├── activate.bat
│ ├── activate.ps1
│ ├── activate_this.py
│ ├── deactivate.bat
│ ├── easy_install.exe
│ ├── easy_install-3.6.exe
│ ├── pip.exe
│ ├── pip3.6.exe
│ ├── pip3.exe
│ ├── python.exe
│ ├── python36.dll
│ ├── pythonw.exe
│ └── wheel.exe

ที่ไหน −

  • รวม (ไดเรกทอรี):ส่วนหัว C ที่รวบรวมแพ็คเกจหลาม

  • สคริปต์ (ไดเรกทอรี):ไฟล์ที่โต้ตอบกับสภาพแวดล้อมเสมือน

  • Lib (ไดเร็กทอรี):ประกอบด้วยไดเร็กทอรีคัดลอกเวอร์ชันหลามและไดเร็กทอรีไซต์แพ็คเกจที่ติดตั้งการพึ่งพาแต่ละครั้ง

วิธีเปิดใช้งานสภาพแวดล้อมเสมือน

หนึ่งในไฟล์ที่น่าสนใจคือสคริปต์เปิดใช้งานในไดเร็กทอรีสคริปต์ สคริปต์เปิดใช้งานใช้ไฟล์เรียกทำงานของ python ของสภาพแวดล้อมและแพ็คเกจไซต์โดยค่าเริ่มต้นเพื่อตั้งค่าเชลล์ของคุณ

อย่างไรก็ตาม หากต้องการใช้แพ็กเกจหรือทรัพยากร "myenv" ในสภาพแวดล้อมเสมือนแบบแยกส่วน คุณต้อง "เปิดใช้งาน" ก่อน หากต้องการเปิดใช้งานสภาพแวดล้อมเสมือนของคุณ ให้รันคำสั่งตามที่แสดงในภาพหน้าจอ

Python Virtual Environment

เมื่อสภาพแวดล้อมเสมือนทำงาน เราจะสามารถติดตั้งแพ็คเกจที่เกี่ยวข้องกับโครงการทั้งหมดและการอ้างอิงอื่นๆ ที่แยกจากโลกภายนอกได้ ตัวอย่างเช่น หากเรากำลังทำงานกับโครงการวิทยาศาสตร์ข้อมูล เราสามารถติดตั้งแพ็คเกจที่จำเป็นทั้งหมดและการพึ่งพาได้พร้อมกันโดยพิมพ์คำสั่งด้านล่างดังนี้ −

(myenv) C:\Users\rajesh\python-virtual-environments>pip install numpy scipy matplotlib ipython jupyter pandas

เมื่อเราทำโปรเจ็กต์เสร็จแล้ว เราก็สามารถออกจากสภาพแวดล้อมเสมือนได้ง่ายๆ ด้วยการปิดใช้งาน

(myenv) C:\Users\rajesh\python-virtual-environments>deactivate
C:\Users\rajesh\python-virtual-environments>

ตอนนี้เรากลับมาที่เปลือกคำสั่งของ windows แล้ว (เหมือนข้างบน)