Python安装包tar.gz和whl文件的区别和说明

在Python中安装包可以使用pip install和conda install从源(清华源、阿里源)进行下载并安装,也可以直接下载下来,并在本地进行安装,具体可参照Python本地安装包和Pytorch安装方法-CSDN博客

但是两者区别较大,在处理上也有不同。

1. .tar.gz 格式

特点
  • 压缩包.tar.gz 是一种压缩文件格式,通常用于分发源代码。
  • 包含源代码: 这个格式通常包含 Python 源代码和一个 setup.py 文件,后者定义了如何构建和安装该包。
  • 构建步骤: 在安装时,可能需要编译扩展模块,因此安装过程可能较慢,特别是在没有预编译的二进制文件时。

以opencv-python为例,如果源下载下来的是.tar.gz文件(opencv-python-4.10.0.84.tar.gz),那么就是opencv的源代码,需要根据CMake和MinGW Makefiles进行编译呈二进制代码,然后在进行安装,十分麻烦,具体可参照VS上配置opencv的C++版本方式。但是如果说没有安装CMake以及对应的MinGW或者VS的情况下,安装opencv会出现以下报错:

即:"

Building wheels for collected packages: opencv-python
  Building wheel for opencv-python (pyproject.toml) ... error
  ERROR: Command errored out with exit status 1:
   command: 'F:\anaconda\install1\envs\yolov5_deepsort\python.exe' 'F:\anaconda\install1\envs\yolov5_deepsort\lib\site-packages\pip\_vendor\pep517\in_process\_in_process.py' build_wheel 'C:\Users\86139\AppData\Local\Temp\tmpsfd_v9r3'
       cwd: C:\Users\86139\AppData\Local\Temp\pip-install-yk4djcju\opencv-python_a607267eb1e646f0b22ff1c664f5cbd3
  Complete output (76 lines):


  --------------------------------------------------------------------------------      
  -- Trying 'MinGW Makefiles' generator

"

但一些不需要构建的情况则可以直接进行conda install的本地安装。

2. .whl 格式

特点
  • Wheel 文件.whl 是一种二进制分发格式,专为 Python 包而设计。
  • 快速安装: 因为它是预构建的包,所以安装速度相对较快,尤其是对于包含 C 扩展的库。
  • 标准化: Wheel 是 PEP 427(Python Enhancement Proposal)定义的标准格式,官方推荐使用。

由于他是官方推荐的安装格式(opencv_python-4.3.0.38-cp36-cp36m-win32.whl),是已经构件好了的二进制代码,以oencv-python为例,其已经经过了CMake和MinGW Makefiles进行了编译,则可以直接安装和使用。省去了构建的过程。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值