Setup · package = "ตัวต่อ" ที่ Python ของเรายังไม่มี

📦 pip + Packages — ลงของเสริม

Python ของเราเริ่มต้น มี built-in functions ~100 ตัว · ของจริงต้องใช้ เพิ่ม เช่น pandas (ตาราง), requests (เรียก API), flask (web app) · pip คือเครื่องมือลง package เหล่านี้

🎯 pip คืออะไร · จำเป็นตอนไหน

pip = "Python Install Package" · มาคู่กับ Python อยู่แล้ว · ไม่ต้องลงแยก

สัปดาห์Package ที่ต้องลงคำสั่ง
W04–W07ไม่ต้องลงอะไรเพิ่ม
W08pandaspip install pandas
W09numpy, matplotlibpip install numpy matplotlib
W10seaborn (optional)pip install seaborn
W12requests, flaskpip install requests flask
W13pytestpip install pytest
W14streamlit, gunicornpip install streamlit
ใช้ Colab? ส่วนใหญ่ลงมาให้แล้ว Colab ของ Google มี pandas, numpy, matplotlib, seaborn, sklearn พร้อมใช้ · เฉพาะ flask / streamlit / line-bot-sdk ที่ต้อง !pip install ... · ดู setup-colab

📥 ลง package — 5 คำสั่งที่ใช้บ่อย

1. ลง 1 package

pip install pandas

# Mac (Mac มี pip2 ใน /usr/bin · ของจริงคือ pip3)
pip3 install pandas

2. ลงหลายตัวพร้อมกัน

pip install numpy pandas matplotlib seaborn

3. ลงเวอร์ชันเฉพาะ

pip install pandas==2.1.0          # ระบุเวอร์ชัน
pip install "pandas>=2.0,<3.0"     # ช่วง
pip install pandas --upgrade        # อัปเป็นล่าสุด

4. ลบ package

pip uninstall pandas
# จะถามยืนยัน · พิมพ์ y

5. ดูที่ลงไว้

pip list                          # ดูที่ลงทั้งหมด
pip show pandas                   # ดูรายละเอียดของ pandas (เวอร์ชัน, location)
pip list --outdated               # ดูตัวที่มีเวอร์ชันใหม่กว่า

✅ ทดสอบหลังลง

ลง pandas แล้ว · เปิด Python REPL · ลอง import:

python    # หรือ python3
>>> import pandas
>>> pandas.__version__
'2.1.0'
>>> exit()

ถ้า import ได้ ไม่มี error → สำเร็จ ✅


📋 requirements.txt — บอก Python ว่า project นี้ต้องการอะไร

W08+ ทุก project จะมีไฟล์ requirements.txt · ระบุ "ของที่ต้องลง" · ทำให้คนอื่นที่เปิด project เดิมลง package ตามได้ในคำสั่งเดียว

ตัวอย่าง requirements.txt

pandas==2.1.0
numpy>=1.24
matplotlib
requests>=2.30,<3.0
flask

ลงตามไฟล์

pip install -r requirements.txt

สร้างไฟล์จากที่ลงไว้

pip freeze > requirements.txt

⚠️ pip freeze เก็บ "ทุก package + ทุก sub-dependency" · ของจริง "เขียน requirements.txt มือ" เก็บแค่ของที่ใช้ตรง ๆ · sub-dependency ปล่อย pip จัดการ


🏠 Virtual Environment — แยก package ต่อ project

ปัญหา: ถ้าลง pandas==2.1 ใน project A และ pandas==1.5 ใน project B — โดย default pip ลงรวมที่เดียว → ของใหม่ทับของเก่า · project A พัง

แก้: "แต่ละ project มี Python แยกตัว" เรียก virtual environment (venv)

คอร์สนี้จำเป็นมั้ย? W04–W10 ไม่จำเป็น — ลง global ก็ได้ · W11+ แนะนำ เพราะเริ่มมีหลาย project พร้อมกัน · Final Project (W15) "ต้องใช้"

สร้าง + เปิด venv

# 1. cd เข้า folder project
cd cp-w11-oop

# 2. สร้าง venv (1 ครั้งต่อ project)
python -m venv .venv          # Windows
python3 -m venv .venv         # Mac

# 3. เปิดใช้ (activate) — ทำทุกครั้งที่เปิด terminal ใหม่
# Windows PowerShell:
.venv\Scripts\Activate.ps1

# Windows CMD:
.venv\Scripts\activate.bat

# Mac/Linux:
source .venv/bin/activate

# 4. terminal จะเห็น (.venv) ขึ้นต้น = เปิดอยู่
# (.venv) PS C:\dev\cp-w11-oop>

# 5. ลง package — ตอนนี้ลงใน .venv ไม่ใช่ global
pip install pandas requests

# 6. ปิด venv
deactivate
Windows PowerShell ติดที่ Activate.ps1 — "running scripts is disabled" เปิด PowerShell "as Administrator" → รัน: Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser → Y → Enter · ทำครั้งเดียว · กลับมาเปิด venv ได้ปกติ

เพิ่ม .venv/ ใน .gitignore

folder .venv/ มีขนาดใหญ่ (~100MB+) · ห้าม commit เข้า git · ใส่ใน .gitignore

# .gitignore
.venv/
__pycache__/
*.pyc
.env

🔧 ปัญหาที่พบบ่อย

1. pip: command not found

2. SSL: CERTIFICATE_VERIFY_FAILED (Mac)

3. Could not find a version that satisfies the requirement

4. WARNING: Defaulting to user installation

5. ImportError: No module named pandas หลังลงแล้ว

6. ลงช้า / ค้าง / timeout

7. ลง package ใหญ่ ๆ (pytorch, tensorflow) แล้วเครื่องช้า


🎯 Workshop — 5 นาที

  1. เปิด terminal · pip --version · จดเวอร์ชัน
  2. pip install requests · รอให้เสร็จ
  3. pythonimport requestsrequests.__version__ · ออกด้วย exit()
  4. สร้าง requirements.txt ใน folder ใด ๆ ใส่บรรทัด: requests
  5. pip install -r requirements.txt · เห็น "Requirement already satisfied" = ของลงไว้แล้ว ✅
  6. (optional) สร้าง venv: python -m venv .venv · activate · pip install requests · ทดสอบ → deactivate

🎯 Checklist ก่อนไปต่อ