【Python】一键导出当前环境依赖包并批量安装

文章目录

  • 背景
  • 一键导出环境依赖包
  • 方法1:freeze
  • 方法2:pipreqs
  • 一键安装环境依赖包
  • 方式1:使用requirements.txt在线安装
  • 方式2:使用requirements.txt离线安装
  • Q&A
  • pip wheel 与pip download的区别
  • 背景

    1. window11
    2. 需要在新环境中使用自己的python项目,没有相关依赖包,一个个安装太麻烦,期望可以有依赖包列表,并可批量安装。

    一键导出环境依赖包

    方法1:freeze

    适用环境: 比较纯净的python环境,安装的包在该项目基本上都被使用到。

    # 1.进入项目所在环境 例如:virtualenv环境
    # 2. 获取依赖包列表
    pip freeze > ./requirements.txt
    

    方法2:pipreqs

    适用环境: python环境比较杂,只想获取该项目使用到的依赖包

    # 1. 安装pipreqs
    pip install pipreqs
    # 2. cd 到程序所在目录
    # 3. 获取依赖包列表, 自动生成requirements.txt
     pipreqs ./ --encoding=utf8
    

    一键安装环境依赖包

    方式1:使用requirements.txt在线安装

    # 进入./requirements.txt 所在目录,或指定requirements.txt绝对路径
    pip install -r ./requirements.txt
    

    方式2:使用requirements.txt离线安装

    # 1. 下载离线包到指定目录
    pip wheel -w python_package_tmp_dir -r .\requirements.txt
    # or (不常用)
    pip download -d python_package_tmp_dir -r requirements.txt
    
    # 2. 安装离线包
    pip install  --no-index --find_links=python_package_tmp_dir -r requirements.txt
    
    # 进入./requirements.txt 所在目录,或指定requirements.txt绝对路径
    pip install -r ./requirements.txt
    

    Q&A

    pip wheel 与pip download的区别

    pip wheel和pip download都是pip工具的子命令,用于从PyPI(Python包索引)下载软件包。它们的区别在于生成的文件格式和用途。

    1. pip wheel:该命令用于从PyPI下载软件包并生成二进制wheel文件。Wheel是一种Python包的二进制分发格式,它可以包含已编译的C代码和其他依赖文件。生成的wheel文件可以在离线环境中使用pip进行安装,也可以在其他机器上共享和安装。这对于软件包的分发和安装来说是非常方便的。

    2. pip download:该命令用于从PyPI下载软件包的源代码和依赖文件,以及它们的wheel文件(如果有)。下载的文件保存在当前目录或指定目录中。它不会生成wheel文件,而是下载软件包的原始文件,以便用户可以手动构建并安装软件包。

    总结来说,pip wheel生成二进制wheel文件,方便软件包的离线安装和分发;pip download下载软件包的源代码和依赖文件,用于手动构建和安装软件包。

    作者:日青山雨xxq

    物联沃分享整理
    物联沃-IOTWORD物联网 » 【Python】一键导出当前环境依赖包并批量安装

    发表回复