Python 小知识,wheel 文件的说明与使用

Posted 梦想橡皮擦

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python 小知识,wheel 文件的说明与使用相关的知识,希望对你有一定的参考价值。

文章目录

⛳️ 需求实战背景

.whl 文件是以 wheel 格式保存的安装包,而且 wheel 是 Python 发行版标准内置包,其包含 Python 所有安装文件,wheel 文件使用 zip 格式压缩,本质也是压缩文件。

按照官方说法,wheel 格式的包,是发行版 Python 的新标准,而且其目的是取代 .egg,Egg 格式是由 setuptools 在 2004 年引入,而 Wheel 格式是由 PEP427 在 2012 年定义,现在主流离线按照一般采用该形式。

使用 .whl 文件进行包安装,在 Python 中也叫做包的离线安装。

如果需要下载 whl 文件,可以从下述两个站点下载,其中 pypi 站点最全。

  • https://pypi.python.org/pypi/
  • https://www.lfd.uci.edu/~gohlke/pythonlibs/ (国内站点,比较稳定)

如果希望安装 whl 文件,需提前安装 wheel 包,使用 pip install wheel

安装之后,可查看一下包详情。

> pip show wheel
Name: wheel
Version: 0.37.1
Summary: A built-package format for Python
Home-page: https://github.com/pypa/wheel
Author: Daniel Holth
Author-email: dholth@fastmail.fm
License: MIT
Location: e:\\python38\\lib\\site-packages
Requires:
Required-by: pip-tools

⛳️ 安装实战

www.lfd.uci.edu/~gohlke/pythonlibs/ 中随机选择一个离线包,例如 PyAMG PyAudio,找一下 Python 对应版本,如果按照 Python2 和 Python3 进行统计。

下载 whl 文件之后,可以放置到本地任意目录,然后进行安装。

安装命令使用 pip install whl文件名,即可实现。

pip install whl文件名

如果包和本地环境不匹配,出现如下错误,此时去平台下载其它 whl 文件,最好的是源码托管位置下载其它版本,进行替换即可。

ERROR: pyamg‑4.2.3‑cp38‑cp38‑win_amd64.whl is not a supported wheel on this platform.

如果 whl 离线包没有问题,会出现如下提示,表示安装成功。

>pip install PyAudio-0.2.11-cp38-cp38-win_amd64.whl
Processing c:\\users\\administrator\\downloads\\pyaudio-0.2.11-cp38-cp38-win_amd64.whl
Installing collected packages: PyAudio
Successfully installed PyAudio-0.2.11

如果安装出错,还有一种可能性是 whl 文件的命名格式和系统支持的格式不同,优先查看一下系统命名格式。

有的博客中会让大家安装 pep425tags 库,查看 whl 命名格式,但最新版本的 Python 中并无该库支持,所以很多时候都会报错。

你可以使用如下命令查询:

pip debug --verbose

查询结果中包含如下信息,其格式如下所示,可以尝试修改文件名,再次进行安装,可解决少数问题。

如果你对 whl 文件还有兴趣,可以将其解压,查看内部源码。

📢📢📢📢📢📢
💗 你正在阅读 【梦想橡皮擦】 的博客
👍 阅读完毕,可以点点小手赞一下
🌻 发现错误,直接评论区中指正吧
📆 橡皮擦的第 715 篇原创博客

从订购之日起,案例 5 年内保证更新

以上是关于Python 小知识,wheel 文件的说明与使用的主要内容,如果未能解决你的问题,请参考以下文章

python(类和对象相关知识)

如何安装 python wheel 文件

python pip安装使用wheel文件无法正常工作

在不使用 pip 的情况下安装 python wheel 文件

Python基础下载python第三方库文件.wheel安装python第三方库

从 python bdist_egg 或 bdist_wheel 中排除单个源文件