ในภาษา Python ก่อนที่เราจะเริ่มโปรเจคใด ๆ ก็ตาม เราควรที่จะมี Environment ที่เหมาะสม เพื่อเอาไว้จัดการพวก Packages ต่าง ๆ ก่อน และ Environment ที่พูดถึงนี้ในภาษา Python เราจะเรียกว่า “Python Virtual Environment” (ในเวิร์คชอปนี้ แนะนำว่าให้ใช้ Python เวอร์ชั่น 3.9 ขึ้นไป แต่อย่างไรก็ดี Python เวอร์ชั่นอื่น ๆ ก็สามารถใช้ได้เช่นกัน)
ดังนั้นในขั้นตอนนี้เราจะสร้าง Python Virtual Environment กันก่อน โดยใช้คำสั่ง
python -m venv ENV
คำสั่งด้านบน แปลความได้ว่า เราจะใช้ Python Module ที่ชื่อ venv
สร้าง Python Virtual Environment ที่ชื่อว่า ENV
ขึ้นมา โดยผลลัพธ์ที่ได้จากขั้นตอนนี้ เราจะเห็นว่ามีโฟลเดอร์ ENV
เกิดขึ้น และข้างในโฟลเดอร์นี้จะมีของต่าง ๆ เกี่ยวกับ Python ซึ่งในโฟลเดอร์พวกนี้แหละ จะเป็นที่เก็บ Libraries หรือ Packages ที่เราติดตั้ง
หลังจากที่เรามี Python Virtual Environment แล้ว เราจะต้อง Activate ด้วย ถึงจะสามารถใช้งานได้ เราจะใช้คำสั่ง
source ENV/bin/activate
ถ้าเป็นเครื่อง Windows เราจะใช้คำสั่ง
ENV\\Scripts\\activate
หลังจากที่เราสั่งคำสั่งด้านบนแล้ว สังเกตว่าทางซ้ายมือของ Shell หรือ Command Line ของเราจะมีวงเล็บ (ENV)
เป็นชื่อ Environment หรือชื่อโฟลเดอร์ที่เราสร้างขึ้น
ซึ่งตรงนี้เราสามารถที่จะใช้เครื่องมือตัวอื่น อย่างเช่น Poetry (https://python-poetry.org/) เข้ามาช่วยสร้าง Python Virtual Environment และจัดการ Dependencies ต่าง ๆ ก็ได้เช่นกัน ซึ่งใน Bootcamp นี้จะแนะนำให้ใช้ Poetry มากกว่า เพราะจะจัดการ Dependencies ต่าง ๆ ได้ง่ายกว่า ถ้าสนใจศึกษาเพิ่มเติม สามารถตามไปอ่านบทความ มาจัดการ package ใน python ที่พันกันยุ่งเหยิงด้วย Poetry กันเถอะ!! กันได้นะ
ตอนนี้เราก็ได้ Python Virtual Environment มาแล้ว ถ้าเราต้องการที่จะติดตั้ง Package หรือ Module เพิ่มเติม อย่างเช่น เราต้องการดึงข้อมูลผ่าน API ทีนี้ในภาษา Python ก็จะมี Package ที่ชื่อว่า requests
ที่เราต้องติดตั้งเพิ่มเติมก่อนถึงจะใช้งานได้ โดยเราจะติดตั้งโดยใช้คำสั่ง
pip install requests
ซึ่งถ้าเราใช้ Poetry เราจะสั่งคำสั่งด้านล่างนี้
poetry add requests
เราสามารถดู Package ต่าง ๆ ที่เราติดตั้งผ่าน Poetry ได้ที่ไฟล์ pyproject.toml
ที่มีหน้าตาประมาณนี้
[tool.poetry]
name = "workspace"
version = "0.1.0"
description = ""
authors = ["Your Name <[email protected]>"]
readme = "README.md"
[tool.poetry.dependencies]
python = "^3.10"
requests = "^2.31.0"
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"