อัปเดตล่าสุด Nov. 18, 2024
Virtual Environment (venv) เป็นสิ่งที่แทบทุกคนต้องเจอเมื่อเริ่มต้นศึกษา Python หลายคนอาจจะยังไม่รู้ว่ามันคืออะไร สำคัญและประโยชน์ยังไง หรือแม้แต่จะใช้มันตอนไหน ? ในบทความนี้เราจะมาทำความเข้าใจเกี่ยวกับตัว Virtual Environment ในภาษาไพธอน พร้อมทั้งโครงสร้างและการใช้งาน ครบ จบในบทความเดียว
Virtual Environment คือ คอนเซ็ปต์ของภาษาไพธอนในการจำลองสภาพแวดดล้อมที่จำเป็นในการรันโปรเจคท์ เช่น dependencies (โดย dependencies นี้จะหมายถึง packages, libraries, หรือแม้แต่ตัว Python Interpreter เอง) โดยให้เรามองว่า venv คือกล่องคอนเทนเนอร์ ๆ หนึ่ง เวลาเราติดตั้งไลบรารี่หรือแพ็คเกจต่าง ๆ ด้วยคำสั่ง pip install [PACKAGE-OR-LIBRARY_NAME] อะไรแบบนี้ตัวแพ็คเกจหรือไลบรารี่ก็จะถูกติดตั้งลงในกล่องนี้แทนที่จะถูกติดตั้งแบบ global นั่นหมายความว่าในแต่ละโปรเจคท์ที่เราสร้างก็จะมี venv ของใครของมัน
เวลาเราแชร์โปรเจคท์หรือนำไป deploy ก็จะง่ายต่อการจัดการ ไม่เกิดปัญหา เช่น ไลบรารี่ไม่ตรงกัน พอรันในเครื่องตัวเองรันได้ แต่พอแชร์ไปให้เพื่อนหรือนำไป deploy แล้วเวอร์ชันของ package หรือ library ไม่ตรงกันหรือไม่ compatible กัน เป็นต้น
พูดง่าย ๆ venv จะช่วยจัดการ environment ให้เราไม่ต้องปวดหัวในภายหลัง
โดยปกติเราก็จะ freeze พวก libraries ต่าง ๆ ไว้ในไฟล์ requirements.txt
นี่แหละครับ พอเรานำไปแชร์ให้เพื่อน ก็จัดการ install ผ่านไฟล์นี้ด้วยคำสั่ง pip install -r requirements.txt ตัว libs ต่าง ๆ ก็จะถูกติดตั้งรวดเดียวจบ เพราะถูกลิสต์ไว้ในนี้หมดแล้ว
บทความแนะนำ: requirements.txt ไฟล์สำคัญที่ช่วยให้เรานำโปรเจคท์ Python ไปรันเครื่องอื่นได้ไม่มีปัญหา
ก่อนที่จะสร้าง venv เราจำเป็นต้องสร้างโฟลเดอร์โปรเจคท์เราก่อนครับ จะสร้างไว้ใน Desktop หรือ Drive ไหนก็ได้ตามความเหมาะสมในการเก็บโปรเจคท์ จากนั้นให้เปิด Terminal (Mac/Linux) หรือ PowerShell/Command Prompt (Windows) ขึ้นมา
$ mkdir my_project$ cd my_project
สร้าง venv (Windows)
$ python -m venv env
macOS/Linux
$ python3 -m venv env
Note: แพ็คเกจ venv นั้นจะถูกติดตั้งเป็น default มาให้แล้วสำหรับ Python เวอร์ชัน 3.3 ขึ้นไป ถึงจะสามารถใช้ได้ (ซึ่งตอนนี้ของเพื่อน ๆ ก็น่าจะเกิน v3.3 กันแล้วเนอะ) แต่ถ้าใครต่ำกว่า 3.3 ต้องใช้อีกตัวคือ virtualenv
เมื่อสร้าง venv เสร็จแล้ว ก็ต้องมีการ activate venv เพื่อเรียกใช้งานนั่นเอง
Activate venv สำหรับ Windows
$ env\Scripts\activate
Activate venv สำหรับ macOS/Linux
$ source env/bin/activate
เมื่อ activate สำเร็จจะได้
Windows
(env) PS C:Users\Son\my_project>
WinmacOS/Linux
(env) sonny@MB-sonny my_project %
เท่ากับว่าเราจะได้ (env)
พร้อมใช้เรียบร้อย
เมื่อเรารู้วิธีการสร้างและ activate venv แล้ว ต่อมาก็ต้องรู้คำสั่งในการออกจาก venv หรือมักจะเรียกกันว่า deactivate
$ deactivate
เพียงเท่านี้ก็เป็นการออกจาก virtual environment แล้ว (สังเกตว่าเครื่องหมายวงเล็บจะหายไป)
เปิดโลกการเขียนโปรแกรมและ Software Development ด้วย online courses ที่จะพาคุณอัพสกิลและพัฒนาสู่การเป็นมืออาชีพ เรียนออนไลน์ เรียนจากที่ไหนก็ได้ พร้อมซัพพอร์ตหลังเรียน
เรียนเขียนโปรแกรมคอร์สอบรม เรียนทำเว็บ ด้วย Django สุดยอด web framework อันดับ 1 ที่ได้รับ…
คอร์สเรียน Full Stack Developer 2024 ด้วยเฟรมเวิร์คยอดนิยมในการพัฒนา A…