使用 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 版本(例如 Python 3.12)。点击该版本旁边的绿色 安装按钮。
- ServBay 将自动下载并安装选定的 Python 版本及其相关组件。等待安装过程完成,按钮将变为绿色表示已安装。
 ServBay GUI 软件包面板,展示 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 版本:
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.131
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 脚本:
- 在您的网站根目录(例如 - /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- 或者使用特定版本: bash- python3.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 requests1
- 使用特定版本的 pip:bashpip3.12 install requests1
- 使用模块方式调用特定版本的 pip(推荐,更明确):bashpython3.12 -m pip install requests1
使用 Python 虚拟环境隔离项目依赖 
虽然 ServBay 允许您安装和访问多个全局 Python 版本,但在进行实际项目开发时,强烈建议使用 Python 虚拟环境 (Virtual Environments)。
为什么需要虚拟环境?
- 依赖隔离: 每个项目可能有不同的库版本需求(例如,项目 A 需要 requests==2.25.0,项目 B 需要requests==2.28.1)。虚拟环境为每个项目创建一个独立的 Python 环境,包含其自己的site-packages目录,确保项目 A 的依赖不会与项目 B 的依赖冲突。
- 环境一致性: 确保开发、测试和(可能的)生产环境使用相同的依赖集,减少“在我机器上能跑”的问题。通常通过 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 .venv1
 2
 3
 4
 5
 6
 7
 8
 9my_flask_app目录下创建一个名为.venv的文件夹,包含独立的 Python 解释器副本、pip以及site-packages目录。
- 激活虚拟环境:bash激活后,您的终端提示符通常会显示# 在 macOS 上 source .venv/bin/activate1
 2(.venv)前缀,并且python和pip命令将直接指向.venv中的版本。
- 安装依赖:bash# 现在 pip install 会将包安装到 .venv 中 pip install Flask requests # 查看已安装的包 pip list1
 2
 3
 4
 5
- 开发您的应用...
- 退出虚拟环境: 完成工作后,只需运行:bashdeactivate1
虚拟环境与接下来介绍的 .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 安装的 Python 版本号(例如 3.11, 3.12)。
ini
# .servbay.config 示例文件
# 指定此项目使用 Python 3.11
PYTHON_VERSION=3.11
# 也可以同时指定其他工具的版本
PHP_VERSION=8.2
NODE_VERSION=20
# ... 其他配置项,如注册表、缓存路径等 ...
# NPM_CONFIG_REGISTRY=https://registry.npmmirror.com/
# GOPROXY=https://goproxy.cn,direct1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
优点:
- 自动化版本切换: 无需手动切换全局 Python 版本或每次都激活特定的虚拟环境(尽管虚拟环境仍是管理依赖的最佳实践)。只需进入项目目录,环境即自动适配。
- 项目隔离: 确保每个项目都在其预期的 Python 版本下运行,避免了因全局环境变更导致的问题。
- 团队协作: 可以将 .servbay.config文件纳入版本控制(如 Git),团队成员克隆项目后即可获得一致的基础运行环境版本。
使用场景:
假设您有两个项目:
- project-a需要 Python 3.11
- project-b需要 Python 3.14
您可以在各自的目录下创建 .servbay.config:
- /Applications/ServBay/www/project-a/.servbay.config:ini- PYTHON_VERSION=3.111
- /Applications/ServBay/www/project-b/.servbay.config:ini- PYTHON_VERSION=3.141
当您在 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 框架(如 Django, Flask)的 Web 应用程序。您可以配置 Web 服务器将请求代理到 Python 应用程序服务器(如 Gunicorn, uWSGI)。
- 数据库: Python 应用程序常常需要数据库支持。ServBay 提供了 MySQL, PostgreSQL, MongoDB 等多种数据库。您可以使用 Python 的数据库连接库(如 psycopg2for PostgreSQL,mysql-connector-pythonfor MySQL)连接到 ServBay 运行的数据库实例。
- 缓存: Python 应用程序也可以利用 ServBay 提供的 Redis 或 Memcached 进行缓存,提升性能。
注意事项 
- PATH 环境变量: ServBay 会修改您的终端 PATH 变量,以便优先使用 ServBay 中安装的工具。如果您在 ServBay 之外也安装了 Python,请注意哪个版本的 Python 会被默认调用。使用 which python或which python3可以查看当前命令指向的可执行文件路径。
- 虚拟环境: 虽然 ServBay 提供了基础的 Python 安装,但在进行实际项目开发时,使用虚拟环境是最佳实践。这有助于隔离项目依赖并保持系统环境的整洁。
- 依赖关系: 安装某些 Python 包可能需要系统级别的依赖库(如编译工具、特定开发库)。如果遇到安装错误,请检查包的文档或错误信息,可能需要通过 Homebrew 等工具安装额外的系统依赖。
常见问题 (FAQ) 
Q: ServBay 支持 Python 2.x 和 Python 3.x 共存吗?
A: 支持,你可以同时通过 ServBay 安装 Python 2.x 和 Python 3.x,并通过 python2 和 python3 命令来执行。
Q: 我安装了多个 Python 版本,如何设置默认的 python 命令指向特定版本?
A: 请在 ServBay 的 “设置” 中设置默认的 Python 2.x 和 Python 3.x 版本。如果您需要更精细的控制或为特定项目使用不同版本,强烈建议使用.servbay.config。通过.servbay.config,python 命令会强制使用所设置的 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 的网站配置文档提供了配置 Web 服务器的基本指南。
总结 
ServBay 为 macOS 上的 Python 开发者提供了一个便捷、集成的本地开发环境。通过 ServBay,您可以轻松安装和管理多个 Python 版本,利用 pip 管理依赖,并方便地将 Python 应用与 ServBay 提供的 Web 服务器和数据库集成,从而高效地进行本地开发和测试。结合使用虚拟环境,您可以为每个项目构建稳定且隔离的开发环境。
