หัวข้อนี้เป็นสอนการสร้างEnvironment Python และแนวทางสำหรับนักพัฒนาที่ทำหลายโปรเจค ซึ่งแต่ละโปรเจค มี Module ที่ใช้แตกต่างกันไป
ปัญหา
ส่วนตัวที่พบปัญหาคือ ผมพัฒนาโปรเจค GUI สำหรับลงทะเบียน แล้วต้องการแชร์โปรเจคให้กับนักพัฒนาอีกคน โดยที่นักพัฒนาอีกคนต้องมี Module เหมือนกันทุกอย่าง ทางออกคือเลือกใช้ Module freeze ทำหน้าที่รวม Module ที่ใช้ในโปรเจค แต่ปรากฏว่าลืมสร้าง Environment ทำให้ได้ Module ที่ลงไว้ทั้งหมดมาแทน
ข้อดี
ข้อดีของการสร้าง Environment ช่วยให้แบ่งการทำงานของ Module ได้ตามลักษณะงานและสามารถ ใช้ Module freeze เพื่อรวบรวม Module ของโปรเจคนั้นๆมาใช้
มีขั้นตอนดังนี้
ขั้นตอนที่ 1 ติดตั้ง Module
pip install virtualenv
ขั้นตอนที่ 2 สร้าง floder สำหรับจัดเก็บโปรเจค
สร้าง floder สำหรับจัดเก็บโปรเจค แล้วเปิด cmd เข้าไปใน path directory ตัวอย่างนี้ผมตั้งชื่อโปรเจคว่า GUI work
ขั้นตอนที่ 3 เริ่มสร้าง Environment
พิมพ์คำสั่ง virtualenv venv จะทำหน้าที่สร้าง Floder venv และสภาพแวดล้อมที่จำเป็นและพร้อมสำหรับการทำงาน
virtualenv venv
ขั้นตอนที่ 4 เริ่มใช้งาน Environment ของเรากันเถอะ
พิมพ์คำสั่ง .\venv\scripts\activate เป็นอันเสร็จเรียบร้อย จะสังเกตุมีคำว่า ‘(venv)’ ด้านหน้าสุดและสามารถติดตั้ง Module ได้ตามต้องการ
.\venv\scripts\activate
#หมายเหตุ ถ้าต้องการออกจาก venv ใช้คำสั่ง deactivate
คำเตือน: ทุกครั้งที่เราเริ่มทำโปรเจคนี้จะต้องเข้ามาใน venv นี้ทุกครั้ง โดยพิมพ์คำสั่งแบบเดิมคือ .\venv\scripts\activate และควรเข้า path directory ให้ถูกต้อง
ขั้นตอนที่ 5 ติดตั้ง Module freeze ใน venv
pip install freeze==0.1.1
ขั้นตอนที่ 6 ทดสอบการดึง Module ของโปรเจคนี้
pip freeze > requirements.txt
โดยพิมพ์คำสั่งนี้ pip freeze > requirements.txt แล้วจะได้Module ที่อยู่ในไฟล์ txt
ให้ดูความแตกต่างการใช้ venv และไม่ใช้ venv
ใช้ venv
ไม่ใช้ venv
ขอบคุณที่อ่านจนจบ ผิดพลาดประการใด ขออภัย ด้วยครับ