如何通过官方可靠方式获取Python所有正式发布版本列表?
获取Python正式发布版本列表的官方可靠途径
如果你不想依赖GitHub标签这种不够精准的方式,有几个官方途径可以可靠获取Python的正式发布版本:
1. Python官方REST API
官方提供了结构化的REST API,返回经过验证的正式版本数据,包含版本号、发布日期、稳定性标记等信息,是最推荐的方式。
你可以直接请求API接口,解析返回的JSON数据并筛选出稳定版:
import requests # 请求官方发布版本API resp = requests.get("https://www.python.org/api/v2/downloads/release/") resp.raise_for_status() all_releases = resp.json() # 筛选出正式稳定版本,排除预发布、候选版 stable_releases = [r for r in all_releases if r["is_stable"]] # 按发布日期倒序排列(最新版本在前) stable_releases.sort(key=lambda x: x["release_date"], reverse=True) # 输出版本号和发布日期 for release in stable_releases: print(f"{release['version']} | 发布日期: {release['release_date']}")
2. Python官方FTP服务器
Python的所有正式版本都会同步到官方FTP服务器的指定目录下,你可以通过FTP协议获取版本目录列表,过滤掉测试版、候选版的目录:
from ftplib import FTP with FTP("ftp.python.org") as ftp: ftp.login() # 匿名登录即可 ftp.cwd("python") # 获取所有目录,筛选出正式版本目录(排除含rc、beta的预发布目录) version_dirs = [ dir_name for dir_name in ftp.nlst() if dir_name[0].isdigit() and "rc" not in dir_name.lower() and "beta" not in dir_name.lower() ] # 按版本号从高到低排序 version_dirs.sort(key=lambda v: tuple(map(int, v.split(".")[:3])), reverse=True) for version in version_dirs: print(version)
为什么不推荐GitHub标签?
GitHub仓库的标签包含大量预发布版本(比如beta、rc版)、内部测试标签,甚至可能存在非官方标签,需要额外做大量过滤才能得到准确的正式版本列表;而上述官方途径直接提供了经过官方验证的稳定版数据,可靠性更高。
内容的提问来源于stack exchange,提问作者AAriam
相关产品推荐
相关产品推荐

