我下载了python所有包,24个G,用以备份

Posted 锐多宝的地理空间

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我下载了python所有包,24个G,用以备份相关的知识,希望对你有一定的参考价值。

1.背景

我最近准备把1985年-2019年的全国30m分辨率土地利用数据按照地级市进行裁剪与归纳,这需要用到Geopandas对shp数据进行批量操作。在安装Geopandas的python包时,遇到一系列模块包版本在加利福尼亚大学尔湾分校python库中下架的情况(这个网站几乎囊括了python所有whl文件,网址为:https://www.lfd.uci.edu/~gohlke/pythonlibs/ ) 。

加利福尼亚大学尔湾分校python库示意图
由此,我便产生了一个想法,下载所有的模块包并做一个备份。

2.下载方法

2.1 找到模块包的下载链接

首先这个网站不需要注册,也不需要fq,因此不用考虑反爬机制和网络连接设置。
当你要在这个网站下载python包时,只需要点击就可以下载。我猜想每个模块包的下载链接藏在html文档中的"li"标签中,F12检查要素。


可以看到li标签中没有下载链接,那下载链接应该是通过点击动作,服务器才会返回下载链接进行下载。理论上使用爬虫模拟点击获取链接,也是可行的。
但,不采用爬虫,还有更简单的。

由此,我们获取了一个下载链接,链接为:
https://download.lfd.uci.edu/pythonlibs/y2rycu7g/GDAL-3.3.1-pp37-pypy37_pp73-win_amd64.whl, 将此链接放入浏览器访问,可以下载模块包。

2.2 确定下载思路

观察到下载链接在最后一个斜杠后的为模块包的名字,比如:GDAL-3.3.1-pp37-pypy37_pp73-win_amd64.whl。
那我们是不是可以用模块包的名字,直接复制到“https://download.lfd.uci.edu/pythonlibs/y2rycu7g/”之后。于是我又试了几个包,该方案是可行的。
因此,所有python包的下载链接为:固定的格式+模块名

2.2 实操

(1)ctrl+A、ctrl+V、ctrl+C,复制网页,粘贴到notepad++:

(2)数据清洗,只保存python包的名字。这里面数据清洗,可以使用notepad++自带的正则表达式筛选、标记行、删除行,最后文档只包含python包名字:

(3)添加链接,就完成了。其中python27、python33、python34、python35、python36需要额外添加一个斜杆内容,代表python版本:

2.2 下载

我刚开始打算用python,开多线程下载。后面一想,有下载链接了,用迅雷不好吗?数据链接通过迅雷下。

3.下载结果

以下是结果,共计8000个模块包,24G内存大小。

并且按照python版本进行了归类:

4.总结

1.全文思路:通过下载链接,获取链接生成方式;然后利用notepad++进行数据清洗,制作链接;最后通过迅雷下载。
2.对python包进行了备份,以后需要老版本的包,可以在百度云中下载。需要资源的,请找下面的二维码。

以上是关于我下载了python所有包,24个G,用以备份的主要内容,如果未能解决你的问题,请参考以下文章

导入python包 - 初学者问题

paramiko修改本分源码

python包,库安装的6个方法

python自动安装包

iOS 应用后端的 web.py 部署

setup.py 中的 Python 包名称与 pip 名称