一键下载Python各版本中的最新版
- IT业界
- 2025-08-11 19:36:01

一、背景需求
下载Python的安装包非常简单,只需要去官网就可以了: .python.org/downloads/windows/
但是有时候你可能需要环境测试,需要安装很多版本的Python。
一个一个找倒是也可以,但是我做了个自动筛选的脚本,直接汇总找出各子版本中的最高版本号的下载地址:
import os import re from urllib.request import urlopen from pprint import pprint import packaging.version as pv def version(url): ver = re.search('python-(\d[\d\.abcr]+\d)', url, re.I).group(1) return pv.parse(ver) pattern = r'<a href="( .python.org/[^"]+/python-[^"]*?)">' white = ['exe', 'msi'] black = ['embed', 'arm64', 'webinstall'] url = ' .python.org/downloads/windows/' response = urlopen(url) text = response.read().decode() M1 = re.findall(pattern, text, re.I) M2 = sorted((version(url), url) for url in M1) M3 = [(ver, url) for ver, url in M2 if any(word in url for word in white) and not any(word in url for word in black)] keep = {} for ver, url in M3: ver2 = ver.release[:2] if ver2 not in keep or ver > keep[ver2]: keep[ver2] = ver M4 = [(ver, url) for ver, url in M3 if ver in keep.values()] for ver, url in M4: # print(f'{str(ver):12}: {url}') print(url)其中需要安装一个版本号解析包,使用以下命令安装:
pip install packaging
二、程序步骤简单介绍程序的执行步骤,可以根据自己的需求进行修改:
读取Python官网Windows安装包页面源代码。匹配出所有可访问的下载路径。用正则表达式取出程序文件名中的版本号,其中Python的版本号存在2位和3位数字、和a/b/rc3中预发布版本。用packaging库解析版本号,并根据版本号排序。按照黑名单(black)和白名单(white)模式筛选,其中只保留 exe 或 msi 格式的附件,并排除嵌入式版、ARM版、和网络版安装包。使用一个字典(keep)保存Python各个版本中的最高小版本号,遍历所有版本号并不断更新最大值,即可得到Python各版本的最高版本号。按照最高版本号取出符合条件的下载地址。打印输出匹配版本号和下载链接。下载的事情就交给更专业的软件吧,比如迅雷什么的。
三、下载地址2023年11月26日运行结果,可以使用迅雷下载:
.python.org/ftp/python/2.0.1/Python-2.0.1.exe .python.org/ftp/python/2.1.3/Python-2.1.3.exe .python.org/ftp/python/2.2.3/Python-2.2.3.exe .python.org/ftp/python/2.3.5/Python-2.3.5.exe .python.org/ftp/python/2.4.4/python-2.4.4.msi .python.org/ftp/python/2.5.4/python-2.5.4.amd64.msi .python.org/ftp/python/2.5.4/python-2.5.4.msi .python.org/ftp/python/2.6.6/python-2.6.6.amd64.msi .python.org/ftp/python/2.6.6/python-2.6.6.msi .python.org/ftp/python/2.7.18/python-2.7.18.amd64.msi .python.org/ftp/python/2.7.18/python-2.7.18.msi .python.org/ftp/python/3.0.1/python-3.0.1.amd64.msi .python.org/ftp/python/3.0.1/python-3.0.1.msi .python.org/ftp/python/3.1.4/python-3.1.4.amd64.msi .python.org/ftp/python/3.1.4/python-3.1.4.msi .python.org/ftp/python/3.2.5/python-3.2.5.amd64.msi .python.org/ftp/python/3.2.5/python-3.2.5.msi .python.org/ftp/python/3.3.5/python-3.3.5rc1.amd64.msi .python.org/ftp/python/3.3.5/python-3.3.5rc1.msi .python.org/ftp/python/3.4.4/python-3.4.4.amd64.msi .python.org/ftp/python/3.4.4/python-3.4.4.msi .python.org/ftp/python/3.5.4/python-3.5.4-amd64.exe .python.org/ftp/python/3.5.4/python-3.5.4.exe .python.org/ftp/python/3.6.8/python-3.6.8-amd64.exe .python.org/ftp/python/3.6.8/python-3.6.8.exe .python.org/ftp/python/3.7.9/python-3.7.9-amd64.exe .python.org/ftp/python/3.7.9/python-3.7.9.exe .python.org/ftp/python/3.8.10/python-3.8.10-amd64.exe .python.org/ftp/python/3.8.10/python-3.8.10.exe .python.org/ftp/python/3.9.13/python-3.9.13-amd64.exe .python.org/ftp/python/3.9.13/python-3.9.13.exe .python.org/ftp/python/3.10.11/python-3.10.11-amd64.exe .python.org/ftp/python/3.10.11/python-3.10.11.exe .python.org/ftp/python/3.11.6/python-3.11.6-amd64.exe .python.org/ftp/python/3.11.6/python-3.11.6.exe .python.org/ftp/python/3.12.0/python-3.12.0-amd64.exe .python.org/ftp/python/3.12.0/python-3.12.0.exe .python.org/ftp/python/3.13.0/python-3.13.0a2-amd64.exe .python.org/ftp/python/3.13.0/python-3.13.0a2.exe
一键下载Python各版本中的最新版由讯客互联IT业界栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“一键下载Python各版本中的最新版”