ติดตั้ง FastAPI

ตรวจสอบเวอร์ชัน Python Interpreter 🐍

คิดว่าทุกคนน่าจะมี Python Interpreter บนคอมพิวเตอร์ของตนเองแล้ว แต่เพื่อความมั่นใจ เราจะมาตรวจสอบกันก่อนว่าเราติดตั้ง Python Interpreter สำเร็จ รวมทั้งตรวจสอบเวอร์ชันของ Interpreter ด้วย เนื่องจากตาม Document ของ FastAPI แล้ว เราต้องติดตั้ง Python 3.8 ขึ้นไป

สามารถตรวจสอบการติดตั้ง Python Interpreter และเวอร์ชันได้ โดยใช้คำสั่ง

python --version

Python 3.12.0

สร้าง Workspace สำหรับ Project 📂

ขั้นตอนต่อไป เราจะสร้างพื้นที่ทำงาน (Workspace) สำหรับ Project นี้กัน ก่อนอื่นให้สร้าง Directory ในบริเวณที่ต้องการ ใน Windows สามารถ Right Click > New Folder ได้เลย หรือใช้คำสั่ง

mkdir <directory name>

จากนั้นให้ Navigate เข้าไปที่ Directory ที่สร้างขึ้น

cd <directory name>

หรือใน Windows สามารถ Right Click > Open in Terminal ตามภาพก็ได้เช่นกัน

เปิด Directory ที่สร้างขึ้นใน Terminal

จากนั้นให้เปิด Workspace ที่สร้างขึ้น บนโปรแกรม Code Editor ที่ต้องการ ในที่นี้จะเปิดบน Visual Studio Code โดยใช้คำสั่ง

อธิบายคำสั่ง

code - เป็นการเรียกใช้ Binary (.exe ใน windows) ของโปรแกรม Visual Studio Code ที่ถูกตั้งค่าไว้ใน System Environment Variable > Path ซึ่งปกติตอนติดตั้งโปรแกรม Installer จะเพิ่ม Path นี้ให้โดยอัตโนมัติ แต่หากผู้ใช้ยังไม่มี Path ของ VS Code ใน Environment Variable ก็จะไม่สามารถใช้คำสั่งข้างต้นในการเปิด VS Code ผ่าน Terminal ได้ และต้องอ้างถึง Absolute Path แทน

. - แทนตำแหน่ง Directory ปัจจุบันที่ทำงานอยู่ โดย VS Code จะรับ Path เป็น Argument ว่าผู้ใช้ต้องการเปิด Workspace ที่ Directory ใด

สรุป

คำสั่ง code . ใช้เปิด VS Code บน Directory ที่รันคำสั่ง

สร้าง Virtual Environment 🔏

ใน Python เราสามารถสร้าง Virtual Environment ได้ โดยคิดง่าย ๆ ว่า มันคือสภาพแวดล้อม (Environment) จำลอง ที่แยกขาดจากกันสำหรับแต่ละ Application ทำให้แต่ละ Application ที่อยู่บนคนละ Virtual Environment กัน จะสามารถมี Dependencies (พูดเร็ว ๆ คือ Library ต่าง ๆ ที่ใช้) ที่แตกต่างกันได้ ทำให้สะดวกในการพัฒนา

สามารถสร้าง Virtual Environment ได้ โดยใช้คำสั่ง

เมื่อรันคำสั่งเสร็จ จะสังเกตว่ามี Directory .venv เพิ่มขึ้นมาบน Workspace ของ Project เราแล้ว (และเป็นเพียงอย่างเดียวที่เรามี 🥲)

การติดตั้ง Virtual Environment ทำเพียงครั้งเดียว คือ เมื่อเราเริ่ม Project หรือเมื่อเรา Clone Project ของคนอื่นมาใช้งานเท่านั้น เมื่อเรามี Directory .venv บน Workspace ของเราแล้ว ครั้งต่อไปจะเป็นเพียงการเปิดใช้งาน Virtual Environment เท่านั้น

สามารถเปิดใช้ Virtual Environment ได้ โดยเปิด Terminal บน VS Code (กด Ctrl + Shift + `) สำหรับการเปิดใช้งานในแต่ละระบบปฏิบัติการจะแตกต่างกัน โดยในที่นี้จะแสดงวิธีเปิด Virtual Environment บน Windows PowerShell และ Windows Command Prompt โดยหากไม่แน่ใจว่าตนเองกำลังใช้ Shell ใดอยู่ สามารถใช้คำสั่งด้านล่างเพื่อตรวจสอบได้

สำหรับ PowerShell สามารถเปิดใช้งาน Virtual Environment ได้โดยใช้คำสั่ง

โดยจะเป็นการเรียกใช้ไฟล์ Activate.ps1 เพื่อเปิดใช้งาน venv

ปัญหา Execution Policy

หลังจากเปิดใช้งาน Virtual Environment แล้ว จะสังเกตว่า Shell เรามีหน้าตาเปลี่ยนไป คือ จะมีชื่อของ Virtual Environment นำหน้าบรรทัดแล้ว !! ถ้าทำถึงตรงนี้แล้วเห็น (.venv) นำหน้า Shell Command แสดงว่าทำถูกต้องง 🥳 (ของทุกคนอาจจะไม่ได้มี Decoration เหมือนในรูปนะ เอาเป็นว่าดูแค่ (.venv) ด้านหน้าพอ)

ติดตั้ง FastAPI บน Virtual Environment ⚡

หลังจากเปิดใช้งาน Virtual Environment แล้ว (สังเกตว่ามี (.venv) นำหน้าคำสั่งก่อนรันทุกครั้ง) เราจะมาติดตั้ง Library FastAPI ที่จะใช้สำหรับสร้าง API กัน

📚 Library คืออะไร ?

Library คือชุดของ Code หรือ Function ที่ถูกเขียนไว้ล่วงหน้าเพื่อให้โปรแกรมเมอร์สามารถนำไปใช้งานได้โดยไม่ต้องเขียนโค้ดซ้ำใหม่เองตั้งแต่ต้น Library มักถูกออกแบบมาให้ช่วยแก้ปัญหาที่พบได้บ่อยในงาน Programming เช่น การจัดการข้อมูล การทำงานกับเครือข่าย หรือการสร้างอินเทอร์เฟซกราฟิก เป็นต้น > Thanks to ChatGPT

ติดตั้ง FastAPI โดยใช้คำสั่ง

Python pip

pip คือ Package Manager สำหรับภาษา Python ที่ใช้สำหรับติดตั้ง จัดการ และอัปเดต Package หรือ Library ต่าง ๆ จาก Python Package Index (PyPI) ซึ่งเป็นแหล่งรวม Library และ Module ของ Python

จากนั้นรอให้ Package ติดตั้งจนเสร็จ...

ทดลองใช้ FastAPI ‼️

เอาล่ะ ! เราติดตั้ง FastAPI เสร็จเรียบร้อยแล้ว เรามาลองใช้แบบเร็ว ๆ กันก่อนเลยดีกว่า เพื่อดูว่าที่เราทำมาทั้งหมดมันถูกมั้ยยังไงล่ะ

เริ่มจากสร้างไฟล์ main.py ใน Workspace ของเรากันก่อน ตอนนี้ Project Structure เราเป็นแบบนี้นะ...

แล้ววาง Python Code นี้ลงไปได้เลย

อธิบาย Code
  1. from fastapi import FastAPI เป็นการเรียกใช้โมดูล FastAPI ใน Library fastapi ที่เราเพิ่งติดตั้งมา

  2. from fastapi import FastAPI สร้าง Instace ของ Application ขึ้นมา โดยเป็น FastAPI Application (ถ้างง อาจจะต้องเรียน OOP ก่อน แต่ตอนนี้ทำตามไปก่อน)

  3. เป็นการกำหนดว่า endpoint นี้จะตอบสนองต่อ HTTP GET request ที่ path / (root path) ซึ่งจะ response (หรือ return) ค่า {"Hello": "World"} กลับไป

เราจะอธิบายละเอียด ๆ เกี่ยวกับเรื่อง Code ต่อไปนะ ตอนนี้อยากรู้เฉย ๆ ว่าที่เราทำมามันถูกมั้ย

จากนั้นให้เปิดใช้งาน API โดยใช้คำสั่ง

จะปรากฎ

แสดงว่า API ของเรา (ควรจะ) ใช้งานได้แล้ว สังเกตว่า โดย default; API ของเราจะถูกรันบน Port 8000 หรือ Listening on port 8000 นั่นเอง

ดังนั้น เราจะทดลองเปิด Web Browser โดยเข้าไปที่ http://localhost:8000/ ดู จะได้ผลลัพธ์ ดังภาพ

หรือจะทดลอง GET ในโปรแกรม Postman ดูก็ได้เช่นกัน

หากได้ผลลัพธ์ตามนี้ก็แสดงว่าเราพร้อมเริ่มสร้าง API กันแล้วววว ไปต่อกันได้เล๊ยยยย

Development Mode

เมื่อรันคำสั่ง fastapi dev main.py จะเป็นการเปิด HTTP Web Server โดยใช้ uvicorn แบบ Development Mode คือ เมื่อเรามีการแก้ไข Code และ Save จะทำการ Restart HTTP Web Server โดยอัตโนมัติ ดังนั้น ตัวแปรต่าง ๆ ของเราจะถูก Reset ตามไปด้วย (ในกรณีที่เราไม่ได้เก็บข้อมูลใน Database น่ะนะ)

Last updated

Was this helpful?