跳转到主要内容

📋 用于 Python 的 requirements.txt 文件

requirements.txt 文件是 Python 项目中指定和管理依赖的行业标准。本指南将展示如何创建、配置和使用 requirements.txt,以确保开发环境和生产环境之间的一致性。

什么是 requirements.txt 文件?

requirements.txt 文件列出了你的项目所需的所有外部 Python 包及其具体版本。这样可以:
  • 让你和你的团队维护完全相同的环境
  • 让新协作者精确地复现环境
  • 让 Square Cloud 上的 deploy 使用正确的依赖运行

1

激活虚拟环境

在虚拟环境中工作对于将项目依赖与全局 Python 系统隔离开来至关重要。这可以避免版本冲突并确保可复现性。根据你的系统,使用下面的其中一个命令激活虚拟环境:Windows:
venv\Scripts\activate
macOS/Linux:
source venv/bin/activate
2

列出项目依赖

始终使用 == 指定精确版本,以确保可复现性,并防止生产环境中因不兼容的更新而出现故障。

方案 A:手动创建(推荐)

在项目根目录下创建一个 requirements.txt 文件,并列出所有外部包及其版本:
requirements.txt
discord.py==2.3.0
requests==2.31.0
python-dotenv==1.0.0

方案 B:使用 pip freeze 自动生成

在虚拟环境中安装完依赖后,你可以自动生成该文件。主要有两种方式:方案 B1:使用 pip freeze(包含所有内容)
pip freeze > requirements.txt
注意:pip freeze 会包含所有全局安装的包,其中可能包含对你的项目不必要的包。生成后请检查该文件,并移除并非严格必需的依赖。
方案 B2:使用 pipdeptree 或带过滤的 pip freeze(推荐)要仅捕获你的项目依赖(不含辅助的环境包),请使用:
pip freeze --user > requirements.txt
或者,为了得到更干净的方案,安装 pipdeptree
pip install pipdeptree
pipdeptree -p your_project > requirements.txt
备选方案:使用手动列表检查,或查看专门为你的项目安装了哪个包:
pip list | grep -i "your-package"
如果你在虚拟环境中工作(推荐),pip freeze 将完美运行,因为该环境是隔离的,仅包含你的项目依赖。
3

检查并验证依赖

在文本编辑器中打开 requirements.txt 文件,然后:
  1. 检查包列表
  2. 移除不必要的依赖
  3. 按需更新版本
  4. 确保你使用的是精确版本(带 ==
4

安装依赖

要安装所有列出的依赖:
pip install -r requirements.txt
此命令保证所有协作者和生产环境使用完全相同的版本。
5

版本控制与共享

准备好 requirements.txt 后,你可以:
  • 与你的团队共享
  • 将其纳入版本控制(git)
  • 确保每个人使用相同的版本
  • 简化在 Square Cloud 上的部署
当你在 Square Cloud 上托管项目时,requirements.txt 文件会被自动检测到,并在构建过程中安装所有依赖。

💡 最佳实践与技巧:

  • 保持更新:在添加新依赖时,定期检查并更新 requirements.txt
  • 使用精确版本:始终使用 ==,而不是 >>= 或不指定版本,以避免生产环境中的意外
  • 检查 pip freeze:如果使用 pip freeze,请在提交前检查该文件,因为它可能包含不必要的辅助包
  • 版本控制:将 requirements.txt 提交到 git,以跟踪依赖变更
  • 隔离环境:为每个项目维护一个虚拟环境,以避免全局冲突
  • 本地测试:在部署之前,在一个新环境中使用 pip install -r requirements.txt 测试该文件

🚀 后续步骤

配置好 requirements.txt 文件后:
  1. 提交到你的 Git 仓库。
  2. Square Cloud 上托管你的项目。
  3. 通过 GitHub 配置自动 deploy。
  4. 欢迎来到专业的 Python 应用托管!
结构良好的 requirements.txt 文件是任何成功的 Python 应用的基础,确保你的应用在 Square Cloud 上完美运行。