pip freeze requirements.txt 所有的虚拟环境,包括pip、setuptools之类

步骤 1:激活目标虚拟环境

在操作前,确保已激活需要导出依赖的虚拟环境:

  • Linux/macOS:

    bash
     
    source venv/bin/activate
  • Windows:

    cmd
     
    venv\Scripts\activate

步骤 2:生成包含所有包的 requirements.txt

使用 pip list --format=freeze 命令导出所有包(包括 pip 和 setuptools):

bash
pip list --format=freeze > requirements.txt

示例输出

生成的 requirements.txt 文件内容类似:

pip==24.0
setuptools==69.2.0
wheel==0.43.0
numpy==1.26.4
...其他包...

验证是否包含 pip 和 setuptools

检查文件是否包含以下行(版本号可能不同):

pip==x.x.x
setuptools==x.x.x

注意事项

  1. 虚拟环境独立性

    • 每个虚拟环境需要单独生成 requirements.txt。若需管理多个环境,请重复上述步骤并为文件命名不同(如 requirements_env1.txt)。

  2. 跨环境兼容性

    • 导出的 pip 和 setuptools 版本可能与新环境不兼容,建议根据目标环境调整或省略它们(默认会安装最新版)。

  3. pip 版本要求

    • 确保 pip 版本 ≥ 20.3(旧版本可能不支持 --format=freeze 包含所有包)。


高级用法

  • 仅导出第三方包(排除 pip/setuptools

    bash
     
    pip freeze > requirements.txt
  • 合并多个环境的依赖
    需手动处理版本冲突,例如使用工具 pip-compile(来自 pip-tools)。


通过以上步骤,您可以为每个虚拟环境生成完整的依赖列表,包括系统工具包。

posted @ 2025-05-20 12:50  笑而不语心自闲  阅读(147)  评论(0)    收藏  举报