Python 项目实战系列 — (4)requirements.txt / pyproject.toml 规范

Python 项目实战系列 — (4)requirements.txt / pyproject.toml 规范

目录

一、工程选型建议

二、requirements.txt 规范(传统但仍重要)

1️⃣ 基础规范(强制)

2️⃣ 分环境拆分(推荐)

3️⃣ requirements.lock.txt(企业级)

4️⃣ 常见反模式

三、pyproject.toml 规范

1️⃣ 最小可用结构(PEP 621)

2️⃣ 可选依赖(环境隔离)

3️⃣ 工具配置集中化(强烈推荐)

四、pyproject.toml + Lock 文件(生产级)

五、AWS / Serverless 场景最佳实践

Lambda 示例

Docker 示例

CodeArtifact 示例

六、requirements.txt vs pyproject.toml 对照表

七、推荐项目结构

八、最终总结(工程视角)


一、工程选型建议

结论一句话
  • 应用项目(Web / API / Lambda)pyproject.toml + requirements.lock.txt
  • 库 / SDK / 内部包必须 pyproject.toml
  • 老项目 / 轻量脚本 / 运维requirements.txt

场景推荐
新项目⭐ pyproject.toml
企业级 / 长期维护⭐ pyproject.toml
Lambda / Dockerpyproject + lock
一次性脚本requirements.txt
发布私有包pyproject.toml


二、requirements.txt 规范(传统但仍重要)

1️⃣ 基础规范(强制)

# 基础依赖(生产环境) requests==2.32.3 boto3==1.34.162 pydantic>=2.6,<3.0

规则

规则说明
一行一个依赖禁止多包
必须锁主依赖== 或 >=,<
禁止裸版本❌ requests
禁止安装时逻辑❌ shell 命令


2️⃣ 分环境拆分(推荐)

# requirements/base.txt requests==2.32.3 boto3==1.34.162
# requirements/dev.txt -r base.txt pytest==8.3.2 black==24.4.2
# requirements/prod.txt -r base.txt gunicorn==22.0.0

3️⃣ requirements.lock.txt(企业级)

requests==2.32.3 urllib3==2.2.2 certifi==2024.7.4 charset-normalizer==3.3.2
用于:
  • CI
  • Docker
  • Lambda
  • 生产部署

Read more

带可二次开发的管理配置端 + 非低代码 + 原生支持标准化 Skill框架选择

「带可二次开发的管理配置端 + 非低代码 + 原生支持标准化 Skill」的开源 Agent 框架,筛选 3款完全匹配的框架(均为代码级可扩展、自带 Skill 管理后台、支持 SKILL.md/MCP 标准),附核心特性、二次开发要点和部署步骤,都是企业级/开发者友好的选型: 一、首选:LangGraph + LangServe(LangChain 官方生态,Python 栈,极致可扩展) 核心定位 LangChain 官方推出的「Agent 编排 + 服务化」框架,自带可二次开发的 Skill/Tool 管理后台(LangServe Dashboard),纯代码开发、无低代码封装,是 Python 生态的最佳选择。 关键特性

By Ne0inhk
Flash Table实测:JAI赋能低代码开发,重塑企业级应用构建范式

Flash Table实测:JAI赋能低代码开发,重塑企业级应用构建范式

目录 * 🔍 引言 * 1.1 什么是Flash Table * 1.2 低代码平台的进化与FlashTable的革新 * ✨FlashTable背景:为什么需要新一代低代码平台? * 2.1 传统开发的痛点 * 2.2 低代码平台的局限 * 2.3 FlashTable的差异化定位 * 💻 FlashTable安装:Docker部署&Jar包部署 * 3.1 基础环境要求 * 3.2 Docker部署(推荐方案) * 3.3 Jar包部署(无Docker环境) * 3.4 常见问题 * 📚FlashTable功能深度评测:从案例看真实能力 * 4.1 数据孤岛?FlashTable 自动化匹配字段 * 4.2 FlashTable复杂表单的开发挑战 * 4.3

By Ne0inhk

QGroundControl终极安装教程:从零开始快速搭建无人机地面站

QGroundControl终极安装教程:从零开始快速搭建无人机地面站 【免费下载链接】qgroundcontrolCross-platform ground control station for drones (Android, iOS, Mac OS, Linux, Windows) 项目地址: https://gitcode.com/gh_mirrors/qg/qgroundcontrol QGroundControl是一款功能强大的跨平台无人机地面站软件,支持Windows、macOS、Linux和Android系统。本文为您提供完整的QGroundControl安装指南,帮助您快速部署这款专业的飞行控制平台。 🚀 准备环境:确保系统兼容性 在开始安装前,请确认您的设备满足以下基本要求: * 操作系统:Windows 10/11、macOS 10.14+、Ubuntu 18.04+ 或 Android 9+ * 处理器:Intel i5或同等级以上CPU * 内存:

By Ne0inhk
飞书机器人与Claude Code交互:从手机指令到AI处理的全自动流程

飞书机器人与Claude Code交互:从手机指令到AI处理的全自动流程

飞书机器人与Claude Code交互:从手机指令到AI处理的全自动流程 * 一、背景 * 二、实现方案概览 * 三、操作步骤 * 前置准备 * 第一步:创建并进入Claude Code容器 * 配置Claude Code使用本地模型 * 测试Claude Code是否正常工作 * 第二步:安装Python依赖 * 第三步:获取飞书应用的凭证 * 第四步:编写并运行中间件脚本 * 脚本解释 * 运行脚本 * 第五步:在飞书中与机器人对话 * 常见问题 * 总结 一、背景 在日常开发中,我们经常需要快速查询代码问题、生成文档或执行简单的编程任务。如果有一款AI助手能随时响应,就像在电脑终端前一样,那该多方便!本教程将演示如何搭建一个飞书机器人,当你在手机飞书App上发送消息时,该消息会传递给运行在电脑上的Claude Code(一个智能编码助手),Claude Code处理后将结果回复到你的飞书会话中。 通过这个方案,你可以: * 在手机上随时向AI提问编程问题。 * 让AI帮你调试

By Ne0inhk