【Python小知识 – 1】:pip下载离线包.whl

文章目录

  • .whl文件介绍
  • 一、批量下载
  • 1、requirements.txt准备
  • 2、下载相关包及依赖
  • 3、离线包安装
  • 二、单个离线包下载
  • 1、下载相关包及依赖
  • 2、离线包下载
  • .whl文件介绍

    .whl 文件是 Python 的一种打包格式,称为 Wheel。Wheel 是一种现代的 Python 包格式,旨在替代传统的 .egg 文件,提供更好的兼容性和安装体验。Wheel 文件包含了 Python 包的所有必要文件和元数据,允许用户更方便地安装包。

    文件结构:Wheel 文件是一个压缩包,内部包含了 Python 包的所有代码和资源文件。文件结构通常包括一个名为 METADATA 的元数据文件、WHEEL 文件、RECORD 文件以及存放包文件的目录。

    一、批量下载

    1、requirements.txt准备

  • 方式一:导出pip安装的包名。
    将已安装的包名导入到requirements.txt中。
    命令:pip freeze> [txt文件路径]
    pip freeze> E:/Package/requirements.txt
    

    过程及结果如下:

  • 方式二:自定义txt文件中的包名。
    如下图所示,不设置包的版本会自动下载最新的包。
  • 2、下载相关包及依赖

    命令:pip download -d [包的保存路径] -r [txt文件的路径]
    例:

    pip download -d E:/demo -r E:/Package/requirements.txt
    

    3、离线包安装

    1. 运行以下代码,形参whl_dirpath.whl文件所在目录,即第2步中包的保存路径。

      def write_whl_forTXT(whl_dirpath):
          li_filename = [i for i in os.listdir(whl_dirpath) if i.endswith('whl')]
          with open('/'.join(whl_dirpath.replace('\\', '/').split('/')[:-1])+'Dirpath_whl.txt', 'a+', encoding='utf-8') as f:
              for filename in li_filename:
                  f.write(whl_dirpath + '/' + filename + '\n')
      
      write_whl_forTXT('E:/demo')		# 将E:/demo替换为对应包的目录
      
    2. 以上代码的运行结果:
      会在E:/demo的上层目录(E:/)生成Dirpath_whl.txt文件,文件中为包的具体路径信息。

    3. 命令:pip install -r [Dirpath_whl.txt文件路径]
      例:

      pip install -r E:/Dirpath_whl.txt
      

    二、单个离线包下载

    1、下载相关包及依赖

    命令:pip download -d [包的保存路径] 包名
    例:

    pip download -d E:/demo1 pywin32
    

    2、离线包下载

    命令:pip install [.whl包的路径]
    例:

    pip install E:/demo1/pywin32-306-cp37-cp37m-win_amd64.whl
    

    作者:街 三 仔

    物联沃分享整理
    物联沃-IOTWORD物联网 » 【Python小知识 – 1】:pip下载离线包.whl

    发表回复