Python依赖版本控制_requirements说明【教程】

发布时间 - 2026-01-03 00:00:00    点击率:
Python项目依赖版本控制的核心是requirements.txt文件,它明确记录项目所需第三方包及其精确版本,确保不同环境安装一致依赖,避免“在我机器上能跑”问题;推荐用pip freeze生成但需精简,生产环境应手动编写并合理约束版本。

Python项目依赖版本控制的核心是requirements.txt文件,它明确记录项目所需第三方包及其精确版本,确保不同环境(开发、测试、生产)安装一致的依赖,避免“在我机器上能跑”的问题。

requirements.txt怎么生成?

推荐使用pip freeze导出当前环境全部已安装包(含子依赖),适合快速锁定完整环境:

  • pip freeze > requirements.txt —— 覆盖写入
  • pip freeze >> requirements.txt —— 追加写入(慎用,易重复)

⚠️ 注意:直接pip freeze会包含开发工具(如pipsetuptools)和非项目直接依赖,生产环境建议精简。

如何写更合理的requirements?

手动编写或编辑requirements.txt更可控,只列出项目直接依赖,并合理约束版本:

立即学习“Python免费学习笔记(深入)”;

  • requests==2.31.0 —— 精确锁定(适合生产,防止意外升级)
  • django>=4.2, —— 兼容范围内允许小版本更新(推荐开发/预发)
  • -e git+https://github.com/xxx/mylib.git@v1.2#egg=mylib —— 安装指定Git分支/Tag的包
  • -r base.txt —— 引入其他requirements文件(支持分层管理,如dev.txtprod.txt

安装时怎么用?

pip install -r requirements.txt即可按文件逐行安装。常用组合:

  • pip install -r requirements.txt --no-deps —— 只装主依赖,跳过子依赖(调试用)
  • pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/ —— 指定国内镜像源加速
  • pip install --upgrade -r requirements.txt —— 强制按文件重装并升级到指定版本

进阶建议:别只靠requirements.txt

单一requirements.txt适合简单项目。中大型项目建议配合:

  • Poetrypipenv:自动管理虚拟环境 + 锁定精确版本(poetry.lock / Pipfile.lock),比纯文本更可靠
  • pyproject.toml(PEP 518):现代Python标准配置文件,可替代setup.py并声明构建依赖
  • CI/CD中加一步pip check:验证已安装依赖间无版本冲突

不复杂但容易忽略:每次修改依赖后,记得重新生成或更新requirements.txt并提交到代码库。


# python  # go  # 工具  # django 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: INTERNET浏览器怎样恢复关闭标签页_INTERNET浏览器标签恢复快捷键与方法【指南】  微信小程序 HTTPS报错整理常见问题及解决方案  大同网页,大同瑞慈医院官网?  Laravel的辅助函数有哪些_Laravel常用Helpers函数提高开发效率  开心动漫网站制作软件下载,十分开心动画为何停播?  Laravel路由怎么定义_Laravel核心路由系统完全入门指南  美食网站链接制作教程视频,哪个教做美食的网站比较专业点?  极客网站有哪些,DoNews、36氪、爱范儿、虎嗅、雷锋网、极客公园这些互联网媒体网站有什么差异?  阿里云高弹*务器配置方案|支持分布式架构与多节点部署  如何快速打造个性化非模板自助建站?  如何制作一个表白网站视频,关于勇敢表白的小标题?  绝密ChatGPT指令:手把手教你生成HR无法拒绝的求职信  移动端脚本框架Hammer.js  EditPlus中的正则表达式实战(5)  如何在宝塔面板创建新站点?  Laravel观察者模式如何使用_Laravel Model Observer配置  如何在Windows虚拟主机上快速搭建网站?  免费视频制作网站,更新又快又好的免费电影网站?  阿里云网站搭建费用解析:服务器价格与建站成本优化指南  Laravel如何生成API文档?(Swagger/OpenAPI教程)  Gemini怎么用新功能实时问答_Gemini实时问答使用【步骤】  Laravel怎么为数据库表字段添加索引以优化查询  Windows Hello人脸识别突然无法使用  制作旅游网站html,怎样注册旅游网站?  php做exe能调用系统命令吗_执行cmd指令实现方式【详解】  linux top下的 minerd 木马清除方法  Laravel如何自定义错误页面(404, 500)?(代码示例)  Laravel如何使用软删除(Soft Deletes)功能_Eloquent软删除与数据恢复方法  Thinkphp 中 distinct 的用法解析  图片制作网站免费软件,有没有免费的网站或软件可以将图片批量转为A4大小的pdf?  香港服务器租用每月最低只需15元?  rsync同步时出现rsync: failed to set times on “xxxx”: Operation not permitted  java ZXing生成二维码及条码实例分享  如何在万网利用已有域名快速建站?  jimdo怎样用html5做选项卡_jimdo选项卡html5实现与切换效果【指南】  东莞市网站制作公司有哪些,东莞找工作用什么网站好?  php 三元运算符实例详细介绍  Midjourney怎样加参数调细节_Midjourney参数调整技巧【指南】  Laravel请求验证怎么写_Laravel Validator自定义表单验证规则教程  LinuxCD持续部署教程_自动发布与回滚机制  Android使用GridView实现日历的简单功能  Laravel怎么实现观察者模式Observer_Laravel模型事件监听与解耦开发【指南】  Python高阶函数应用_函数作为参数说明【指导】  Bootstrap整体框架之CSS12栅格系统  如何快速生成专业多端适配建站电话?  b2c电商网站制作流程,b2c水平综合的电商平台?  Laravel如何集成第三方登录_Laravel Socialite实现微信QQ微博登录  Laravel如何使用Eloquent进行子查询  如何在宝塔面板中创建新站点?  音响网站制作视频教程,隆霸音响官方网站?