python第三方包离线安装(以matplotlib为例)

一、介绍

整篇文章介绍python第三方包离线安装通用方法,单纯离线安装matplotlib,请直接跳到三、离线安装matplotlib

我们知道python安装第三方包可以用pip install packageconda install package 等命令,但实际中总有些不可抗力导致这些命令不能用,这时就需要离线安装第三方包。
在这里插入图片描述

离线安装包可以在
https://pypi.org/
https://repo.anaconda.com/pkgs/
https://www.lfd.uci.edu/~gohlke/pythonlibs/
等网站下载到,是.whl格式的文件。

https://www.lfd.uci.edu/~gohlke/pythonlibs/ 这个网站貌似打不开了,请直接跳到 【二、通用方法】(2024-11-16 21:02)
####################################################################################################
这里选择 https://www.lfd.uci.edu/~gohlke/pythonlibs/,因为所有链接都在一个页面,搜索比较方便。它由荧光动力学实验室维护,隶属于美国国立卫生研究院加利福尼亚大学生物医学荧光光谱研究中心。

这是它的第三方包列表:
在这里插入图片描述
找到matplotlib,点击跳转到详细列表,如下图,注意,这里已经列出matplotlib的依赖包(离线安装要手动安装一大堆依赖包),需要将依赖包的离线安装包也下载到本地,但依赖包的安装顺序必须正确,否则会失败。

在这里插入图片描述
####################################################################################################

二、通用方法

我们先去 https://pypi.org/ 下载离线包
在搜索框搜索你的包名称,这里是 matplotlib
在这里插入图片描述
搜索结果中选和你的包名一摸一样的,这里是第一个:
在这里插入图片描述
点进去后,如需要历史版本可以在 Release history 中选择:
在这里插入图片描述

选好版本后,选 Download files 进一步找到你想要的离线包
在这里插入图片描述
我们要选择构建好的 .whl 文件,即轮子(wheel)的缩写
在这里插入图片描述

需注意的是,有的依赖包也有依赖包,也需要按顺序安装,后面会讲到。

离线安装包的命名说明:
(以 matplotlib-3.9.2-cp313-cp313-win_amd64.whl 为例)

  • matplotlib是依赖包名称。
  • 3.9.2是依赖包的版本号。
  • 第一个 cp313 是 Python 标签(Python tag),是支持的python版本号,代表适配python3.13.x 。
  • 第二个 cp313 是 ABI 标签(ABI tag),指出与特定的 Python 实现及其版本兼容。ABI 是指程序之间交互的二进制接口标准。这里意味着这个包是用与 CPython 3.13 兼容的方式构建的,也就是说它所包含的任何二进制文件(比如编译后的 C 扩展)都是用与 CPython 3.13 兼容的方式构建的。
  • win_amd64是操作系统,代表windows 64位。

小知识:
我们发现还有一种是类似 matplotlib-3.9.2-pp39-pypy39_pp73-win_amd64.whl 的版本表示,不同的是他的 Python tag 是 pp39,ABI tag 是 pypy39_pp73。这里的 pp39 表示它是为 PyPy 3.9 设计的。对于 CPython(标准 Python 实现),这里会是如 cp39 这样的标签,表示 CPython 3.9。
后面的 ABI tag中,pypy39 再次确认了这是为了 PyPy 3.9 设计的,而 pp73 则指出了 ABI 兼容性,这通常涉及到 Python 的内部接口和编译方式等细节。对于 CPython,这部分是类似 cp39、cp39-cp39 或者 cp39-abi3。

继续说依赖包的安装顺序,介绍一个比较通用的方法,不仅安装matplotlib,其他第三方包也适用,就是有点麻烦。

首先下载好matplotlib的离线包,在windows终端执行以下命令,package_name是第三方包的路径,建议在你的第三包目录执行,少敲几下键盘 :)

# pip install matplotlib-3.4.3-cp38-cp38-win_amd64.whl
pip install [package_name]

会报错缺少依赖包,如下图,查看报错是缺少numpy包,而且提示numpy版本要>=1.16,接下来安装numpy包,numpy包的下载方法同上。
在这里插入图片描述

numpy包安装成功,继续尝试安装matplotlib包,会告诉你接下来要安装什么包。
在这里插入图片描述
这里有个注意点,就是cycler包依赖six包,接下来安装cycler会失败,要先安装six包,再安装cycler包,然后再尝试matplotlib。
在这里插入图片描述
按照这个方法,最后安装成功。
在这里插入图片描述

三、总结

matplotlib第三方包的安装顺序为:

numpy、six、cycler、pillow、dateutil、kiwisolver、pyparsing、matplotlib

经多次试验,每次安装的顺序不固定,原因是没有其他依赖的包安装顺序不固定。
而且pillow包在推荐的依赖包里是没有的,可能原因是matplotlib升级导致的,因为荧光动力学实验室不是matplotlib的开发者,所以没有及时更新。
所以离线安装第三方包,推荐使用试错法,递归地安装依赖包,网上推荐的依赖包列表和顺序可能随着matplotlib升级而失效。

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

万俟淋曦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值