核心内容摘要
91在线视频免费看看精彩内容:开启你的极致视听盛宴之旅
你想了解Python中.whl后缀文件的全称以及文件名各部分的含义对吧首先先纠正一个小偏差.whl的全称不是“啥”而是Wheel字面意思是“轮子”它是Python的一种预编译软件包格式类比的话就像Windows的.exe安装包、Linux的.deb/rpm包能让Python包的安装更快捷无需手动编译源码。
先搞懂Wheel.whl文件的核心作用Python早期安装包大多是.tar.gz格式的源码包安装时需要本地编译可能依赖编译器、系统库容易出现安装失败。
而Wheel.whl是预编译的二进制包打包时已经完成了编译工作安装时只需要解压并配置路径速度更快、成功率更高现在pip install默认优先下载和安装.whl文件如果有对应你的环境的版本。
.whl文件名的组成含义关键.whl的文件名有严格的命名规范不能随意修改修改后pip可能无法识别典型格式如下{包名}-{版本号}-{Python版本标识}-{系统平台标识}-{CPU架构标识}.whl举个实际例子requests-
2.
3
0-py3-none-any.whlrequests库的通用版本、numpy-
1.
2
2-cp311-cp311-win_amd
whlnumpy库针对Python
3.
Windows64位的版本下面拆解各部分的含义
{包名}就是Python包的名称比如requests、numpy、pandas对应你pip install时输入的包名。
{版本号}包的版本遵循语义化版本规范主版本.次版本.修订版本比如
2.
31.
0、
1.
2
2对应包的更新迭代版本。
{Python版本标识}这部分有两种常见格式用来标识该包支持的Python版本cp3xcp是CPython的缩写我们日常使用的Python几乎都是CPython解释器3x对应Python
x版本比如cp311表示仅支持Python
11cp39表示仅支持Python
9。
py3表示支持所有Python
x版本不区分具体
x子版本兼容性更广还有py
py3表示同时支持Python2和Python3现在几乎已淘汰。
{系统平台标识}标识该包支持的操作系统常见值如下none表示纯Python包不依赖特定操作系统大部分纯Python编写的包都是这个比如requests跨平台可用。
winWindows系统。
linuxLinux系统常见还有manylinux是兼容多种Linux发行版的通用标识比如manylinux2014。
macosxmacOS系统比如macosx_10_15_x86_64表示支持macOS
1
15及以上的x86架构。
{CPU架构标识}标识支持的CPU架构常见值如下any不依赖特定CPU架构跨架构可用和none搭配对应纯Python包。
amd6464位x86架构我们日常的台式机、笔记本几乎都是这个架构也叫x86_64。
x8632位x86架构现在已极少使用。
arm6464位ARM架构比如苹果M1/M2芯片、安卓手机、树莓派等。
补充说明如果一个.whl文件的后缀是-py3-none-any.whl说明它是纯Python编写、跨Python3版本、跨操作系统、跨CPU架构的通用包几乎可以在任何Python3环境下安装使用。
如果你手动下载了.whl文件安装命令是pip install 文件名.whl注意切换到.whl文件所在的目录或者填写完整文件路径。
不是所有包都有.whl格式一些小众包可能只有源码包.tar.gz此时安装就需要依赖本地编译环境比如Windows需要安装Visual C Build ToolsLinux需要安装gcc/g。
总结.whl文件的全称是Wheel是Python的预编译二进制安装包优势是安装快捷、成功率高。
.whl文件名遵循固定规范核心包含「包名-版本-Python版本-系统-架构」5个部分pip通过该命名识别是否适配你的运行环境。
纯Python包的.whl文件通常带有py