requirements.txt是python项目依赖清单文件,通过pip install -r requirements.txt可批量安装;推荐用pipreqs基于代码import语句生成精简清单,离线部署需先pip download预下载再本地安装。

能,但“一键”不等于“无脑执行”,关键看你怎么生成和使用依赖清单。
requirements.txt 是最常用也最可控的方式
它本质是一份纯文本的包名+版本列表,pip install -r requirements.txt 就是标准的一键安装命令。但要注意:它不会自动推断项目实际用到了哪些包,而是照单全收。
- 生成时别直接用
pip freeze > requirements.txt—— 这会把所有已装包(包括你临时测试用的、IDE插件依赖的)都塞进去,导致环境臃肿甚至冲突 - 推荐先清理环境(比如新建虚拟环境),再只安装明确需要的包,最后用
pip freeze > requirements.txt - 如果项目有分环境(dev/prod),建议拆成
requirements-dev.txt和requirements.txt,用-r语法嵌套:-r requirements.txt+pytest==7.4.4 - 文件里写
./src或git+https://...这类本地/远程路径也能被识别,适合安装私有包
pipreqs 能从代码里自动提取真实依赖
它扫描项目 Python 文件里的 import 语句,生成精简版 requirements.txt,比 pip freeze 更贴近实际使用场景。
从QuickView趋势笔记生成韩语AI播客包,含双人主持脚本(Callie×Nick)、Gemini多说话人TTS音频、字幕时间轴与渲染修正、缩略图+MP4包装及YouTube标题/描述输出。支持完整版(15~20分钟)和压缩版(5~7分钟)。
- 安装:
pip install pipreqs - 在项目根目录运行:
pipreqs . --encoding=utf8(加--encoding防止中文路径报错) - 默认会跳过
__pycache__、venv等目录,但如果你的模块在非标准路径(比如lib/),得手动加--include-path lib - 它不解析动态 import(如
importlib.import_module)或字符串形式的包名,这类依赖得手动补上
离线环境必须用 pip download 预下载
内网或无外网机器上,“一键安装”实际分两步:先在外网机下载好所有 wheel 包及其依赖,再复制过去安装。
- 下载命令:
pip download -r requirements.txt --no-deps --platform manylinux2014_x86_64 --python-version 3.12 --only-binary=:all:(按目标环境调整平台和 Python 版本) - 注意加
--no-deps是为了防止重复下载;真正要递归下载全部依赖,去掉它,再加--find-links ./downloads -i https://pypi.org/simple/ --trusted-host pypi.org - 安装时用:
pip install --no-index --find-links=./downloads -r requirements.txt,--no-index强制不联网 - 下载的 wheel 文件名含平台标签(如
numpy-1.26.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl),换平台会报错,不能随便复制
最容易被忽略的是:没有哪个命令能 100% 自动解决依赖冲突或版本兼容性问题。pip install -r 只负责按清单装,装完报 ImportError 或运行时报 AttributeError 很常见——这时候得回头检查 requirements.txt 里是否混进了不兼容的大版本,或者漏写了某个间接依赖。










