news 2026/9/12 21:37:05

python基础语法学习: requirements.txt

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
python基础语法学习: requirements.txt

文章目录

  • requirements.txt
    • requiremtnes 长什么样?
      • 版本约束符号
    • 生成 requirements.txt
      • 方法一: 手动写
        • 方法二: 自动导出当前环境
        • 方法四: 只导出直接依赖
    • 实际工作流

requirements.txt

requirements.txt是一个纯文本文件,用来记录一个 Python 项目所依赖的第三方包及其版本。它的作用是让其他人(或另一台机器)能够一键复现项目所需的运行环境。

pipinstall-rrequirements.txt

一行命令,就能把所有依赖装好。

requiremtnes 长什么样?

最简单的形式,每行一个包名:

requests flask numpy

带版本约束:

requests==2.31.0 flask>=3.0.0 numpy~=1.26.0

还可以加注释和空行:

# Web 框架 flask==3.0.0 # 数据处理 pandas==2.2.0 numpy==1.26.4

版本约束符号

写法含义示例
==精确等于flask==3.0.0
>=大于等于numpy>=1.20
<=小于等于numpy<=2.0
~=兼容版本(推荐)numpy~=1.26.0等价于>=1.26.0, ==1.26.*
!=排除某版本flask!=3.0.1
><严格大于/小于django>4.0
不写装最新版requests

~=是最实用的:它允许补丁版本更新(修 bug),但不允许次版本升级(避免破坏性变更)。比如~=1.26.0会装1.26.11.26.9,但不会装1.27.0

组合约束用逗号:

django>=4.2,<5.0

生成 requirements.txt

方法一: 手动写

直接写出你确定要用的包,推荐用==锁定版本

方法二: 自动导出当前环境
pip freeze>requirements.txt

pip freeze会列出当前虚拟环境中所有已经安装的包 (包括间接依赖), 输出成包名 == 格式格式

生成的内容可能很长:

例如:

blinker==1.7.0 click==8.1.7 Flask==3.0.0 itsdangerous==2.1.2 Jinja2==3.1.3 MarkupSafe==2.1.5 Werkzeug==3.0.1

注意:这会包含所有间接依赖,环境迁移最保险,但文件不"干净"。

方法四: 只导出直接依赖

用 poetry / pipenv 管理

现代工具会分开管理 “直接依赖” 和 “锁定文件”

#Poetrypoetry add requests poetry export-f requirements.txt--output requirements.txt

实际工作流

# 1. 创建虚拟环境 python -m venv venv # 2. 激活(Linux/Mac) source venv/bin/activate # Windows venv\Scripts\activate # 3. 安装依赖 pip install -r requirements.txt # 4. 开发中装了新包 pip install requests # 5. 更新 requirements.txt pip freeze > requirements.txt
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/12 21:34:40

RK3572 DSMC总线实现FPGA与SoC稳定300MB/s互联

1. 为什么RK3572FPGA互联卡在300MB/s这个数字上&#xff1f; RK3572是瑞芯微2023年底推出的面向边缘AI视觉处理的SoC&#xff0c;它不是简单地把CPU和NPU堆在一起&#xff0c;而是围绕“实时图像流管道”做了深度重构。它的PCIe 2.0 x1接口理论带宽是500MB/s&#xff0c;但实测…

作者头像 李华
网站建设 2026/9/12 21:32:04

手机遗失后,飞函如何控制数据风险

员工下班途中发现手机遗失&#xff0c;第一反应往往是挂失号码、修改密码或寻找设备。但对企业来说&#xff0c;更需要立即回答另一组问题&#xff1a;这台手机是否登录着办公账号&#xff1f;本地是否留有聊天记录、文件或联系人信息&#xff1f;拾到设备的人还能否继续进入协…

作者头像 李华
网站建设 2026/9/12 21:28:53

AI如何优化毕业论文写作:四步通关法与智能工具应用

1. 毕业论文写作的痛点与AI解决方案每年毕业季&#xff0c;数百万学子都会陷入论文写作的焦虑循环。选题方向不明确、文献综述耗时费力、数据收集困难、格式反复修改...这些痛点让毕业论文成为许多人的噩梦。传统写作流程中&#xff0c;学生需要花费60%以上的时间在资料搜集和格…

作者头像 李华
网站建设 2026/9/12 21:24:29

Python自动化测试实践

现代软件开发流程里, 自动化测试属于不可或缺的一部分, 它可提高测试效率, 能减少测试工作的重复性, 还能帮助开发人员快速发现并修复bug。有一种编程语言简单易学, 在自动化测试领域被广泛运用。下面要来介绍自动化测试的实践。在自动化测试中的优势进行自动化脚本编写时, 在不…

作者头像 李华
网站建设 2026/9/12 21:23:25

H6900B与H6601双芯片LED恒流驱动方案解析

1. 这颗H6900B芯片&#xff0c;真不是“升压模块”那么简单 你拆过市面上那些标价二三十块、带USB输入、能调RGB颜色的LED氛围灯控制器吗&#xff1f;我拆过不下五十款——从某宝爆款到车用改装件&#xff0c;八成以上板子背面都印着H6900B四个字。但绝大多数人只把它当个“升压…

作者头像 李华
网站建设 2026/9/12 21:22:55

gpt-image-2 硬核指南:文字渲染、多轮编辑与API集成实战

最近一直在折腾 gpt-image-2 这个新模型&#xff0c;说实话&#xff0c;看完它出图的效果之后&#xff0c;我第一个感觉是“AI 绘画的文本翻车时代可能真的要结束了”。作为长期跟踪生成式模型&#xff0c;也整理过不少 awesome 系列资源的人&#xff0c;我在看到 awesome-gpt-…

作者头像 李华