使用 ServBay 進行 Python 開發
Python 是一種強大且靈活的程式語言,廣泛應用於 Web 開發、資料科學、自動化腳本等多個領域。ServBay 作為專為開發者設計的本地 Web 開發環境工具,提供多種 Python 版本的出色支援,並讓您能夠輕鬆與其他 ServBay 元件(如 Web 伺服器及資料庫)無縫整合,構建完整的本機開發工作流程。
什麼是 Python?
Python 是一種高階、直譯型、通用的程式語言,以其語法簡潔明瞭與強大功能著稱。Python 設計哲學強調程式碼的可讀性和簡潔性,特別適合快速開發應用。它支援多種編程範式,包括物件導向、指令式、函式式與程序式編程。Python 的強大來自其豐富的標準函式庫和龐大的第三方生態系,因此無論是用於 Web 開發(如 Django、Flask 框架)、資料分析、人工智慧還是科學計算,都極受歡迎。
ServBay 對 Python 的支援
ServBay 的設計目的是為您提供簡易的方式來安裝及管理不同版本的 Python,無須擔心系統 Python 衝突或繁瑣的安裝過程。透過 ServBay,您可輕鬆於多個 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
透過 ServBay 圖形化操作介面 (GUI) 安裝 Python 既簡單又直觀:
- 開啟 ServBay GUI 面板。
- 導航至左側的「軟體包」選單。
- 於軟體包清單中找到「Python」分類。
- 展開「Python」分類後,將看到 ServBay 支援的各版本列表。
- 選擇所需的 Python 版本(如 Python 3.12),點擊旁邊綠色的「安裝」按鈕。
- ServBay 會自動下載並安裝選定的 Python 及其相關元件。安装完畢時,按鈕會顯示為綠色。
ServBay GUI 軟體包面板,顯示 Python 版本列表與安裝按鈕
您可以依需求同時安裝多個 Python 版本。
在命令列中使用 Python
ServBay 安裝的 Python 版本會自動加入 ServBay 的環境設定中,可於終端機直接存取。ServBay 會智能設定 PATH 環境變數,方便您使用已安裝的 Python。
通常 ServBay 預設以下命令:
python
:指向最新安裝的 Python 3 版本。python2
:指向 Python 2.7 版本(若有安裝)。python3
:指向最新安裝的 Python 3 版本。pythonX.Y
:指向特定 Python 版本,例如python3.12
(若有安裝)。
您可在 ServBay 終端(透過 ServBay GUI 面板終端按鈕打開)或系統終端中,驗證已安裝的 Python 版本:
# 檢查預設 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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
執行簡單 Python 腳本:
在您的網站根目錄(如
/Applications/ServBay/www
)或其他方便的位置建立新檔案,例如hello.py
。在檔案中輸入以下 Python 程式碼:
python# hello.py print("Hello from ServBay Python!")
1
2儲存檔案。
開啟終端(可用 ServBay 內建終端,或用系統終端,但請確認 ServBay 正在執行且 PATH 設定正確)。
切換至存放
hello.py
的目錄。以
python
命令執行腳本:bash# 假設您在 ServBay 的 www 目錄下建立了 hello.py 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)
每個由 ServBay 安裝的 Python 版本都內建有 pip
套件管理工具,用來安裝和管理第三方函式庫。
TIP
ServBay 已預裝 pip 套件管理工具,無需額外安裝。
安裝 Python 套件的一般命令格式為 pip install <package-name>
。留意:若安裝有多個 Python 版本,請務必使用對應版本的 pip
。通常,與特定 Python 版本對應的 pip 命令為 pipX.Y
,或可經由 pythonX.Y -m pip
呼叫。
- 使用預設
pip
(通常對應python
或python3
):bashpip install requests
1 - 使用特定版本的
pip
:bashpip3.12 install requests
1 - 以模組方式呼叫特定版本的
pip
(推薦,更明確):bashpython3.12 -m pip install requests
1
利用 Python 虛擬環境隔離專案依賴
雖然 ServBay 允許您安裝並存取多個全域 Python 版本,強烈建議在開發實際專案時採用 Python 虛擬環境(Virtual Environments)。
為什麼要使用虛擬環境?
- 依賴隔離: 每個專案可能需不同版本的函式庫(例如 A 專案需
requests==2.25.0
,B 專案需requests==2.28.1
)。虛擬環境為每個專案創建獨立 Python 執行環境及site-packages
目錄,確保專案依賴彼此不干擾。 - 環境一致性: 可保證開發、測試甚至(如需)生產環境之相依套件清單一致,減少「只在我機器上能跑」的問題。常見做法用
requirements.txt
或pyproject.toml
管理依賴。 - 維持系統整潔: 避免將專案特定的套件灑在 ServBay 管理的全域 Python 環境裡,保持整潔。
如何建立與使用(以 Python 內建的 venv
模組為例):
假設您要為專案 my_flask_app
使用 ServBay 安裝的 Python 3.12:
- 選擇 Python 版本: 確認要用的 Python 版本(如
python3.12
)。 - 建立虛擬環境:bash此指令會在
# 進入您的專案目錄 cd /Applications/ServBay/www # 建立專案目錄 mkdir my_flask_app cd my_flask_app # 用 ServBay 提供的指定 Python 版本建立 venv # 建議將虛擬環境資料夾取名為 '.venv' python3.12 -m venv .venv
1
2
3
4
5
6
7
8
9my_flask_app
目錄下建立一個.venv
資料夾,其中包含獨立的 Python 解譯器、pip 及 site-packages 目錄。 - 啟用虛擬環境:bash啟用後,終端提示符通常會出現
# 在 macOS 上 source .venv/bin/activate
1
2(.venv)
前綴,python
及pip
命令將直接指向虛擬環境內版本。 - 安裝依賴:bash
# 此時 pip install 會把套件安裝到 .venv 內 pip install Flask requests # 查看已安裝的套件 pip list
1
2
3
4
5 - 開發應用...
- 離開虛擬環境: 完成作業時,執行:bash
deactivate
1
虛擬環境與接下來介紹的 .servbay.config
可輔助搭配,提供靈活且隔離的開發體驗。
使用 .servbay.config
管理專案級 Python 版本
ServBay 提供一項強大功能,您可於專案根目錄設置 .servbay.config
檔案,以自動指定該專案所需的開發環境版本(包括 Python 版本)。
運作原理:
當您透過 ServBay 整合終端執行 cd
進入有 .servbay.config
的目錄時,ServBay 會自動解析此檔案,並臨時調整該終端會話的環境變數,使 python
、php
、node
等命令皆導向檔案中所指定之版本。
.servbay.config
僅影響命令列環境,並只作用於此次目錄與其子目錄(不影響 Web 伺服器)。
設定檔格式:
.servbay.config
是純文字鍵值對。要指定所用 Python 版本,請新增 PYTHON_VERSION
鍵,值為您藉 ServBay 安裝之版本(例如 3.11
、3.12
)。
# .servbay.config 範例檔案
# 設定此專案使用 Python 3.11
PYTHON_VERSION=3.11
# 亦可同時指定其他工具版本
PHP_VERSION=8.2
NODE_VERSION=20
# ... 其他設定,例如 registry、快取路徑 ...
# NPM_CONFIG_REGISTRY=https://registry.npmmirror.com/
# GOPROXY=https://goproxy.cn,direct
2
3
4
5
6
7
8
9
10
11
優點:
- 自動化版本切換: 無需手動更換全域 Python 版本,也不必每次進入專案啟動特定虛擬環境(盡管管理依賴仍建議用虛擬環境)。只要進入專案目錄,環境即可自動對應。
- 專案隔離: 確保每一專案都以預期的 Python 版本執行,避免因全域環境變動致產生問題。
- 團隊協作: 可將
.servbay.config
檔納入版本控制(如 Git),團隊成員 clone 專案後,即可確保一致的基礎環境版本。
使用場景:
假設您有兩個專案:
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
進入 ServBay 終端 cd /Applications/ServBay/www/project-a
,執行 python -V
會顯示 Python 3.11.x;切換至 cd /Applications/ServBay/www/project-b
再執行 python -V
,則會顯示 Python 3.14.x。
注意: .servbay.config
設置的是 ServBay 感知的基礎 Python 版本。仍建議在此基礎上搭配虛擬環境(如 venv
、pipenv
、poetry
)管理專案相依套件。
與 ServBay 其他元件整合
ServBay 的優勢在於其一站式整合的本地開發環境。您可輕鬆將 ServBay 提供的 Python 與其他元件搭配使用:
- Web 開發: 運用 ServBay 的 Caddy 或 Nginx 作為 Web 伺服器,設定代理至 Python 應用伺服器(如 Gunicorn、uWSGI),方便部署基於 Python 框架(Django、Flask)的 Web 應用。
- 資料庫: 大多數 Python 應用都需要連結資料庫。ServBay 提供 MySQL、PostgreSQL、MongoDB 等多種選項。您可利用 Python 的連線函式庫(如
psycopg2
for PostgreSQL、mysql-connector-python
for MySQL)連接至 ServBay 執行的資料庫實例。 - 快取: Python 應用亦可利用 ServBay 提供的 Redis 或 Memcached 作快取,提高效能。
注意事項
- PATH 環境變數: ServBay 會調整終端的 PATH,使之優先呼叫 ServBay 安裝的工具。若您本機另有安裝其他 Python,請留意預設執行版本。可利用
which python
或which python3
檢查目前命令鏈結的可執行檔路徑。 - 虛擬環境: 雖然 ServBay 提供了基礎 Python 安裝,但開發真正專案時,強烈建議使用虛擬環境以隔離依賴並保持系統乾淨。
- 依賴性問題: 安裝部分 Python 套件時可能需系統層級相依庫(如編譯工具、特定開發函式庫)。如遇安裝錯誤,請參閱套件官方文件或錯誤訊息,必要時可用 Homebrew 等工具安裝額外系統套件。
常見問題(FAQ)
Q: ServBay 支援 Python 2.x 與 3.x 共存嗎?
A: 支援,您可同時透過 ServBay 安裝 Python 2.x 與 3.x,並分別以 python2
、python3
命令呼叫。
Q: 若安裝多個 Python 版本,如何讓 python
命令預設指向特定版本?
A: 請於 ServBay「設定」頁設置預設的 Python 2.x 與 3.x 版本。若需專案級細緻控制,更推薦用 .servbay.config
。透過 .servbay.config
,可強制 python
命令指向指定版本。
Q: 如何在 ServBay 安裝的 Python 裡安裝第三方套件?
A: 使用您欲安裝套件的 Python 版本對應的 pip 命令。例如 Python 3.12 請用 python3.12 -m pip install <package-name>
。建議在已啟動虛擬環境中執行此操作。
Q: 執行 Python Web 應用時,如何配置 ServBay 的 Web 伺服器?
A: 這通常需設定 Caddy 或 Nginx 的網站設定檔,設置反向代理,將進入的 HTTP 請求導向您的 Python 應用伺服器監聽的端口。設定細節視您所用 Python Web 框架與應用伺服器而定。具體操作請參見 ServBay 網站配置文件之教學指南。
總結
ServBay 為 macOS 的 Python 開發者帶來便利且高度整合的本機開發環境。您可輕鬆安裝、管理多版本 Python,利用 pip 處理相依套件,並快速與 ServBay 內的 Web 伺服器與資料庫結合,加速本地開發測試流程。進一步搭配虛擬環境,讓每個專案均可建立穩定且相互隔離的運作環境。