การพัฒนา Python ด้วย ServBay
Python เป็นภาษาการเขียนโปรแกรมที่ทรงพลังและยืดหยุ่น ได้รับความนิยมอย่างแพร่หลายในงานพัฒนาเว็บ วิทยาศาสตร์ข้อมูล ระบบอัตโนมัติ ฯลฯ ServBay คือเครื่องมือสำหรับสร้างสภาพแวดล้อมพัฒนาเว็บแบบโลคัลที่ออกแบบมาเพื่อดีเวลลอปเปอร์โดยเฉพาะ ซึ่งรองรับหลายเวอร์ชันของ Python และช่วยให้คุณเชื่อมโยงกับส่วนประกอบอื่น ๆ ของ ServBay (เช่น Web Server และฐานข้อมูล) ได้อย่างลงตัว เพื่อสร้างเวิร์คโฟลว์การพัฒนาแบบครบวงจรบนเครื่องของคุณ
Python คืออะไร?
Python เป็นภาษาระดับสูง ใช้การแปลคำสั่ง (interpreted) และสามารถใช้งานได้หลากหลาย ด้วยไวยากรณ์ที่อ่านง่ายและแนวคิดเน้นความเรียบง่าย ทำให้เขียนโค้ดได้อย่างรวดเร็ว หลักการออกแบบของ Python ให้ความสำคัญกับความอ่านง่ายและเข้าใจได้ง่าย รองรับหลายสไตล์การเขียนโปรแกรม ทั้งแบบเชิงวัตถุ ฟังก์ชันนัล ตามลำดับ และกระบวนงาน ข้อดีที่สำคัญของ Python คือไลบรารีมาตรฐานที่ครอบคลุม และอีโคซิสเต็มที่ใหญ่โต จึงถูกนำไปใช้ในงานพัฒนาเว็บ (เช่น Django, Flask), วิเคราะห์ข้อมูล ปัญญาประดิษฐ์ คำนวณวิทยาศาสตร์ ฯลฯ
การสนับสนุน Python ของ ServBay
ServBay ถูกพัฒนาขึ้นเพื่อช่วยให้คุณติดตั้ง/จัดการเวอร์ชันของ Python หลายเวอร์ชันได้อย่างสะดวก ไม่ต้องกังวลปัญหาเรื่องความขัดแย้งกับระบบ Python หรือขั้นตอนการติดตั้งที่ยุ่งยาก คุณสามารถสลับไปมาระหว่างหลาย ๆ เวอร์ชันได้อย่างยืดหยุ่นให้เหมาะกับความต้องการของแต่ละโปรเจกต์
ServBay รองรับเวอร์ชันของ Python ดังนี้ (โดยเวอร์ชันที่เปิดให้ติดตั้งอาจแตกต่างตามเวอร์ชันของ ServBay):
- Python 2.7
- Python 3.5
- Python 3.6
- Python 3.7
- Python 3.8
- Python 3.9
- Python 3.10
- Python 3.11
- Python 3.12
- Python 3.13
- Python 3.14 (และเวอร์ชันที่สูงกว่า)
เวอร์ชันเหล่านี้ครอบคลุมทั้ง Python 2.7 ที่บางโปรเจกต์ยังจำเป็นต้องใช้ และเวอร์ชัน Python 3.x ที่เป็นมาตรฐานใหม่ในปัจจุบัน คุณจึงสามารถเลือกเวอร์ชันที่เหมาะสมกับโปรเจกต์ของคุณได้
การติดตั้ง Python
การติดตั้ง Python ผ่านแผงควบคุมกราฟิก (GUI) ของ ServBay สะดวกและรวดเร็วมาก
- เปิดแผงควบคุม ServBay GUI
- ไปที่เมนู
ซอฟต์แวร์แพ็กเกจ
ทางซ้าย - ค้นหา
Python
ในรายการซอฟต์แวร์ - ขยายหมวดหมู่
Python
จะเห็นรายชื่อเวอร์ชันต่าง ๆ ที่ ServBay รองรับ - เลือกเวอร์ชันที่ต้องการ (เช่น Python 3.12) แล้วคลิกปุ่ม
ติดตั้ง
สีเขียวข้างเวอร์ชันนั้น - ServBay จะดาวน์โหลดและติดตั้ง Python เวอร์ชันที่เลือกพร้อมองค์ประกอบที่เกี่ยวข้อง รอจนติดตั้งเสร็จ ปุ่มจะเปลี่ยนเป็นสีเขียวเพื่อบ่งบอกว่าได้ติดตั้งแล้ว
แผงซอฟต์แวร์ใน ServBay GUI แสดงรายชื่อเวอร์ชัน Python และปุ่มติดตั้ง
คุณสามารถติดตั้ง Python ได้หลายเวอร์ชันตามต้องการ
การใช้ Python ผ่าน Command Line
Python ที่ติดตั้งด้วย ServBay จะถูกเพิ่มไปยังสภาพแวดล้อมของ ServBay อัตโนมัติ สามารถเรียกใช้งานผ่านเทอร์มินัลได้ทันที ServBay จะตั้งค่า PATH ให้เองชีวิตคุณง่ายขึ้น
โดยปกติ ServBay จะให้คำสั่งมาตรฐานเหล่านี้:
python
: ชี้ไปยัง Python 3 เวอร์ชันล่าสุดที่ติดตั้งpython2
: ชี้ไปยังเวอร์ชัน 2.7 (หากมีติดตั้ง)python3
: ชี้ไปยัง Python 3 เวอร์ชันล่าสุดpythonX.Y
: ชี้ไปยังเวอร์ชัน Python เฉพาะ (เช่นpython3.12
ถ้ามี)
สามารถตรวจสอบเวอร์ชันที่ติดตั้งได้ในเทอร์มินัลของ ServBay (หรือเทอร์มินัลในระบบที่ PATH ถูกตั้งค่าแล้ว):
bash
# ตรวจสอบว่า python เรียกเวอร์ชันอะไร
python -V
# ตัวอย่างผลลัพธ์: Python 3.12.2
# เช็คเวอร์ชันของ python3
python3 -V
# ตัวอย่างผลลัพธ์: Python 3.12.2
# กรณีมีติดตั้ง Python 2.7 ด้วย
python2 -V
# ตัวอย่างผลลัพธ์: Python 2.7.18
# หากต้องการเรียกเวอร์ชันที่ระบุ
python3.10 -V
# ตัวอย่างผลลัพธ์: Python 3.10.13
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
เรียกใช้งาน Python script ง่าย ๆ:
สร้างไฟล์ใหม่ชื่อ
hello.py
ในโฟลเดอร์เว็บไซต์หลักเช่น/Applications/ServBay/www
หรือที่ไหนก็ได้ตามสะดวกใส่โค้ด Python ต่อไปนี้ในไฟล์
python# hello.py print("Hello from ServBay Python!")
1
2บันทึกไฟล์
เปิดเทอร์มินัล (จะใช้เทอร์มินัลของ ServBay หรือเทอร์มินัลทั่วไปก็ได้ แต่ต้องแน่ใจว่า PATH ของ ServBay ถูกตั้งค่า)
ไปยังไดเรกทอรีที่มี
hello.py
เรียกใช้ script ด้วยคำสั่ง
bash# ถ้าสร้าง hello.py ในโฟลเดอร์ www ของ ServBay cd /Applications/ServBay/www python hello.py # จะเห็นผลลัพธ์: Hello from ServBay Python!
1
2
3
4หรือเรียกเวอร์ชันเจาะจง
bashpython3.12 hello.py # จะเห็นผลลัพธ์: Hello from ServBay Python!
1
2
การจัดการแพ็กเกจ Python (ผ่าน pip)
Python ทุกเวอร์ชันที่ติดตั้งผ่าน ServBay จะมาพร้อมกับ pip
สำหรับติดตั้งและจัดการไลบรารีภายนอก
TIP
ServBay ติดตั้ง pip มาให้พร้อมแล้ว ไม่ต้องติดตั้งเอง
คำสั่งพื้นฐานสำหรับติดตั้งแพ็กเกจคือ pip install <ชื่อแพ็กเกจ>
กรณีมีหลาย Python ให้มั่นใจว่าใช้ pip ที่ตรงกับเวอร์ชันที่ต้องการ โดยปกติ pip จะผูกกับเวอร์ชัน Python ตามชื่อ หรือเรียกผ่าน pythonX.Y -m pip
- ใช้ pip เริ่มต้น (ปกติกับ
python
หรือpython3
):bashpip install requests
1 - ใช้ pip ตามเวอร์ชันเฉพาะ:bash
pip3.12 install requests
1 - แนะนำ: เรียก pip ผ่าน python module เพื่อความถูกต้องชัดเจนbash
python3.12 -m pip install requests
1
การใช้ Virtual Environment สำหรับแยก dependency ของแต่ละโปรเจกต์
แม้ ServBay จะเปิดให้คุณติดตั้ง Python หลายเวอร์ชันแบบ global ได้ แต่ในการทำงานพัฒนาแต่ละโปรเจกต์ ขอแนะนำอย่างยิ่ง ให้ใช้ virtual environment (virtualenv หรือ venv)
ทำไมต้องใช้ virtual environment?
- แยก dependency: แต่ละโปรเจกต์อาจต้องการไลบรารีเวอร์ชันต่างกัน (เช่น โปรเจกต์ A ใช้
requests==2.25.0
โปรเจกต์ B ใช้requests==2.28.1
) virtual environment ช่วยสร้างพื้นที่ Python และไลบรารีอิสระแต่ละโปรเจกต์ ไม่มีปัญหาไลบรารีชื่อซ้ำหรือเวอร์ชันตีกัน - ความสอดคล้องของสภาพแวดล้อม: ทั้ง dev, test และ production ใช้ dependency เหมือนกัน ลดปัญหา “ทำไมบนเครื่องฉันรันได้”
- ระบบสะอาด: ไม่ต้องติดตั้งแพ็กเกจเฉพาะโปรเจกต์ลง global Python ของ ServBay
วิธีสร้างและใช้งาน (ตัวอย่างด้วย venv
ที่มีใน Python):
สมมติคุณจะทำโปรเจกต์ my_flask_app
ด้วย Python 3.12 จาก ServBay
- เลือกเวอร์ชัน Python: ระบุว่าจะใช้เวอร์ชันไหน (เช่น
python3.12
) - สร้าง virtual environment:bashจะได้โฟลเดอร์
# ไปยังโฟลเดอร์โปรเจกต์ cd /Applications/ServBay/www # สร้างโฟลเดอร์โปรเจกต์ mkdir my_flask_app cd my_flask_app # สร้าง virtual environment ด้วย Python ที่ต้องการ # ชื่อ '.venv' เป็นมาตรฐาน python3.12 -m venv .venv
1
2
3
4
5
6
7
8
9.venv
ใน project กับสำเนา Python pip และ site-packages แยกเป็นของตัวเอง - Activate virtual environment:bashหลังจาก activate จะเห็นชื่อ (.venv) แสดงบน prompt และคำสั่ง python/pip จะอ้างถึง environment นี้โดยตรง
# บน macOS source .venv/bin/activate
1
2 - ติดตั้ง dependency:bash
# pip install จะติดตั้งลงใน .venv นี้ pip install Flask requests # ดูรายการไลบรารี pip list
1
2
3
4
5 - เริ่มพัฒนาแอปของคุณ...
- จบงาน ให้ปิด environment กลับสู่ global:bash
deactivate
1
Virtual environment จะทำงานร่วมกับฟีเจอร์ .servbay.config
ในบทถัดไป เพื่อความยืดหยุ่นและจัดการสภาพแวดล้อมการพัฒนาอย่างมืออาชีพ
จัดการเวอร์ชัน Python ระดับโปรเจกต์ด้วย .servbay.config
ServBay มีฟีเจอร์เด่นคือ สามารถสร้างไฟล์ .servbay.config
ใน root directory ของแต่ละโปรเจกต์ เพื่อกำหนดเวอร์ชันของซอฟต์แวร์ที่จะใช้กับโปรเจกต์นั้นๆ ได้ทันที (รวมถึง Python ด้วย)
หลักการทำงาน:
เมื่อคุณ cd
ไปยังไดเรกทอรีโปรเจกต์ที่มี .servbay.config
ผ่าน terminal ของ ServBay ตัว ServBay จะอ่านค่าจากไฟล์นี้แล้วตั้ง environment ชั่วคราวให้ session นั้น ๆ คำสั่ง เช่น python, php, node
จะไปชี้ตามเวอร์ชันที่ระบุไว้
หมายเหตุ: .servbay.config
จะมีผลเฉพาะการใช้งานในเทอร์มินัลและไดเรคทอรีนั้นกับโฟลเดอร์ย่อยเท่านั้น ไม่มีผลกับ web server
รูปแบบไฟล์:
เป็นไฟล์ข้อความธรรมดาแบบ 'key=value' ถ้าต้องการระบุ Python ให้ใส่ PYTHON_VERSION
ตามด้วยหมายเลขเวอร์ชันที่ติดตั้งแล้ว เช่น 3.11
หรือ 3.12
ini
# ตัวอย่างไฟล์ .servbay.config
# ใช้ Python 3.11 สำหรับโปรเจกต์นี้
PYTHON_VERSION=3.11
# กำหนดเวอร์ชันของเครื่องมืออื่นได้เช่นกัน
PHP_VERSION=8.2
NODE_VERSION=20
# ... ตัวเลือกเสริม เช่น แหล่ง registry, path cache ฯลฯ ...
# NPM_CONFIG_REGISTRY=https://registry.npmmirror.com/
# GOPROXY=https://goproxy.cn,direct
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
ข้อดี:
- เปลี่ยนเวอร์ชันอัตโนมัติ: ไม่ต้องตั้ง global python หรือ activate virtualenv เอง (แต่การใช้ virtualenv ก็ยังดีที่สุดสำหรับ dependency) แค่
cd
เข้าโปรเจกต์ ทุกอย่างพร้อมใช้ - แยกโปรเจกต์กันเด็ดขาด: มั่นใจได้ว่าแต่ละโปรเจกต์รันด้วย Python เวอร์ชันที่ต้องการจริง
- ทำงานเป็นทีม: เพิ่มไฟล์
.servbay.config
ลงใน git ได้เลย เพื่อนร่วมงานจะได้ environment เหมือนกันทันทีหลัง clone repo
กรณีใช้งาน:
เช่น มี 2 โปรเจกต์
project-a
ต้องใช้ Python 3.11project-b
ต้องใช้ Python 3.14
ก็สร้างไฟล์ .servbay.config
คนละอัน
/Applications/ServBay/www/project-a/.servbay.config
:iniPYTHON_VERSION=3.11
1/Applications/ServBay/www/project-b/.servbay.config
:iniPYTHON_VERSION=3.14
1
เมื่อ cd /Applications/ServBay/www/project-a
แล้วรัน python -V
ในเทอร์มินัล ServBay จะแสดง Python 3.11.x แต่ถ้าอยู่ใน project-b
แล้วรัน python -V
ก็จะเป็น Python 3.14.x
หมายเหตุ: .servbay.config
แค่ระบุเวอร์ชัน Python พื้นฐานของ ServBay คุณควรสร้าง virtual environment (venv
, pipenv
, poetry
) เพิ่มเติมสำหรับจัดการไลบรารีแยกแต่ละโปรเจกต์
การทำงานร่วมกับส่วนประกอบอื่นใน ServBay
จุดเด่นของ ServBay คือการรวมทุกอย่างไว้เป็นสภาพแวดล้อมแบบโลคัลครบวงจร คุณจึงใช้งาน Python ของ ServBay ร่วมกับส่วนประกอบอื่นได้ง่าย เช่น
- Web Development: ใช้ Caddy หรือ Nginx ของ ServBay เป็นเว็บเซิร์ฟเวอร์ แล้วตั้งค่า proxy ไปยังแอป Python ที่รันบน Django, Flask ฯลฯ ผ่าน Gunicorn หรือ uWSGI เป็นต้น
- ฐานข้อมูล: ส่วนใหญ่เว็บแอป Python ต้องเชื่อมโยงกับฐานข้อมูล เช่น MySQL, PostgreSQL, MongoDB ที่ ServBay มีให้ พร้อมไลบรารีเช่น
psycopg2
(PostgreSQL),mysql-connector-python
(MySQL) สำหรับเชื่อมต่อฐานข้อมูลเหล่านี้ - แคช: ใช้งาน Redis หรือ Memcached ที่ ServBay มีไว้สำหรับแคชข้อมูลใน Python app ได้
ข้อควรระวัง
- ตัวแปร PATH: ServBay จะเปลี่ยน PATH ของเทอร์มินัลเพื่อให้ใช้เครื่องมือที่ติดตั้งใน ServBay ก่อน หากคุณมี Python อื่นในระบบ ควรเช็คว่า python ไหนถูกเรียก ด้วย
which python
หรือwhich python3
- Virtual Environment: ServBay ช่วยจัดการ Python พื้นฐาน แต่ขอแนะนำ ใช้ virtualenv แยก dependency ทุกโปรเจกต์เพื่อระบบสะอาด ไม่มีปัญหาจัดการไลบรารี
- System Dependency: บาง Python packages จำเป็นต้องมีไลบรารีหรือ compiler ของระบบเพิ่ม ถ้าติดตั้งไม่ได้ให้ดู error หรือคู่มือของ package นั้น แล้วอาจใช้ Homebrew เพื่อติดตั้ง dependency ที่จำเป็น
คำถามที่พบบ่อย (FAQ)
ถาม: ServBay รองรับ Python 2.x และ Python 3.x พร้อมกันได้ไหม?
ตอบ: ได้ คุณสามารถติดตั้ง Python 2.x และ Python 3.x บน ServBay พร้อมกัน แล้วใช้ python2
และ python3
ในการรันแต่ละเวอร์ชัน
ถาม: มีหลาย Python ติดตั้งไว้ จะตั้ง python
ให้ชี้ไปที่เวอร์ชันที่ต้องการอย่างไร?
ตอบ: ตั้งค่าได้ที่หน้า “ตั้งค่า” ใน ServBay เพื่อระบุ default สำหรับทั้ง Python 2.x และ 3.x หรือใช้ .servbay.config
สำหรับควบคุมแต่ละโปรเจกต์โดยเฉพาะ ซึ่งจะ override คำสั่ง python
ตามเวอร์ชันที่ระบุ
ถาม: จะติดตั้งไลบรารีเสริมลง Python ที่ ServBay ยังไง?
ตอบ: ใช้ pip ที่ผูกกับ Python เวอร์ชันที่ต้องการ (เช่น สำหรับ Python 3.12 ใช้ python3.12 -m pip install <package-name>
) เพื่อชัวร์ที่สุด ควรทำใน virtual environment ที่ถูก activate
ถาม: ถ้าจะรันเว็บแอป Python ต้องตั้งค่าตัวเว็บเซิร์ฟเวอร์ของ ServBay อย่างไร?
ตอบ: ต้องตั้งค่าไฟล์ของ Caddy หรือ Nginx เพื่อ reverse proxy HTTP requests ไปยังแอป Python ที่รันบนพอร์ตที่กำหนด วิธีตั้งค่าขึ้นกับเฟรมเวิร์ก (Django, Flask ฯลฯ) และ application server (Gunicorn, uWSGI ฯลฯ) ดูตัวอย่างที่เอกสารคู่มือเว็บไซต์ของ ServBay
สรุป
ServBay เป็นเครื่องมือที่ยอดเยี่ยมสำหรับดีเวลลอปเปอร์ Python บน macOS ช่วยให้คุณติดตั้งและจัดการหลายเวอร์ชันของ Python, ใช้ pip จัดการ dependency และผสานรวมกับ web server/database ของ ServBay ได้อย่างง่ายดาย การใช้ virtualenv ควบคู่ช่วยให้แต่ละโปรเจกต์มีสภาพแวดล้อมที่เสถียรและแยกกันอย่างแท้จริง จึงเหมาะสำหรับการพัฒนาและทดสอบแบบ local ได้อย่างมีประสิทธิภาพ