Python 中导出 pip 环境依赖
在 Python 开发中,导出 pip 环境依赖最常用的有以下 4 种方法,请根据你的应用场景选择:
方法 1:导出当前环境的所有包(最常用)
这种方法会把当前虚拟环境(或全局环境)中所有已安装的包及其精确版本号全部导出。
- 执行命令:
pip freeze > requirements.txt
- 缺点:如果你的环境没有使用虚拟环境,它会把全局安装的杂七杂八的包全部导出来,导致文件非常臃肿。
方法 2:只导出当前项目代码用到的包(最推荐 🌟)
如果你想分享代码给别人,或者部署到服务器,建议使用 pipreqs。它会扫描你代码中的 import 语句,只导出项目中真正用到的包。
- 安装工具:
pip install pipreqs
- 在项目根目录下执行(注意最后的点 . 代表当前目录):
pipreqs . --encoding=utf8 --force
(加上 --force 可以覆盖旧的 requirements.txt)
方法 3:使用现代化的 Poetry / Pipenv 导出
如果你使用的是现代化包管理工具,它们自带更安全的导出机制(包含哈希校验,防止依赖被篡改):
- Poetry:
poetry export -f requirements.txt --output requirements.txt
- Pipenv:
pipenv run pip freeze > requirements.txt
方法 4:仅导出非依赖的“顶层包”(保持文件干净)
pip freeze 会把诸如 urllib3, certifi 等间接依赖(别人引入的包)全部列出来。如果你只想记录你自己主动安装的“大包”,可以使用 pip-tools:
- 安装工具:
pip install pip-tools
- 创建一个 requirements.in 文件,里面只写你想安装的核心包名(如 langchain, fastapi)。
- 编译导出:
pip-compile requirements.in
这会自动生成一个包含精确版本和依赖树的 requirements.txt。
💡 如何在海新环境安装导出的依赖?
拿到 requirements.txt 后,在新的环境(如服务器或新电脑)中执行以下命令即可一键还原环境:
pip install -r requirements.txt
作者:brookin
出处:http://www.cnblogs.com/brookin/
本文采用知识共享署名-非商业性使用-相同方式共享 2.5 中国大陆许可协议进行许可,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。
出处:http://www.cnblogs.com/brookin/
本文采用知识共享署名-非商业性使用-相同方式共享 2.5 中国大陆许可协议进行许可,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。

浙公网安备 33010602011771号