pipy 的whl和egg的区别

先来看一下uwsgi的安装过程:

pip install uwsgi
Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple
Collecting uwsgi
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/24/fd/93851e4a076719199868d4c918cc93a52742e68370188c1c570a6e42a54f/uwsgi-2.0.20.tar.gz (804 kB)
     |████████████████████████████████| 804 kB 6.0 MB/s 
Building wheels for collected packages: uwsgi
  Building wheel for uwsgi (setup.py) ... done
  Created wheel for uwsgi: filename=uWSGI-2.0.20-cp27-cp27m-macosx_10_15_x86_64.whl size=461787 sha256=82931f5ae82d58901e6be4937c9294518318e63ad695aadc1eb0daef9d7e8ff4
  Stored in directory: /Users/zhangli53/Library/Caches/pip/wheels/17/12/d8/b93accd1c983f6e708bb2578670fff8da916674efd86e5c701
Successfully built uwsgi
Installing collected packages: uwsgi
Successfully installed uwsgi-2.0.20

pipy官网uwsgi的下载页面:
https://pypi.org/project/uWSGI/#files
在这里插入图片描述

=========================================================================================
下面是安装 ipython的过程:

pip install ipython
Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple
Collecting ipython
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/ce/2c/2849a2b37024a01a847c87d81825c0489eb22ffc6416cac009bf281ea838/ipython-5.10.0-py2-none-any.whl (760 kB)
     |████████████████████████████████| 760 kB 10.3 MB/s 
Installing collected packages: ipython
Successfully installed ipython-5.10.0

pipy官网ipython的下载页面:
https://pypi.org/project/ipython/5.10.0/#files
在这里插入图片描述

比较python在安装两个包的时候所走的过程不同:

uwsgiipython
安装过程1、下载tar包。 2、编译,创建,存储wheel包。3、安装wheel包。 4、完成1、下载wheel包。3、安装wheel包。 4、完成
官网支持包格式tarwhl、tar

由两个安装包的比较,可以看到,pip工具的优先安装包(来自pipy)是先查找whl格式包,若没有此格式,再查找tar格式包,从而来安装。

那么wheel(轮子:缩写whl)包到底是个啥?
wheel格式的包,是第三方包在安装到服务环境的过程中,根据当前python的版本,由tar包编译而成的二进制安装包,用于安装具体的包。

Wheel和Egg都是python的打包格式,目的是支持不需要编译或制作的安装过程,实际上也是一种压缩文件,将.whl的后缀改为.zip即可可看到压缩包里面的内容。按照官网说法,wheels是发行版Python的新标准并且要取代.egg。

比较:
Wheel有一个官方的PEP427来定义,而Egg没有PEP定义。
Wheel是一种分发格式,即打包格式。而Egg既是一种分发格式,也是一种 运行时安装的格式,并且是可以被import的。
Wheel文件不会包含.pyc文件
Wheel使用和PEP376兼容的.dist-info目录,而Egg使用.egg-info目录。
Wheel有着更丰富的命名规则。
Wheel是有版本的,每个Wheel文件都包含wheel规格的版本和打包它的实现。
Wheel在内部被sysconfig path type管理,因此转向其他格式也更容易。

都是python 的包,可以用来安装的

whl:
pip install xx.whl
egg:
ez_install install xx.egg

whl包的制作:
python setup.py build # 编译
python setup.py sdist # zip格式包
python setup.py bdist_wininst # exe格式包
python setup.py bdist_rpm # rpm格式包

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值