You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取可pip升级模块的更新日志信息?

获取pip可升级包的更新日志(命令行程序化实现)

方法1:原生pip+命令行工具批量抓取

利用pip获取包的PyPI信息,结合curl、grep等工具批量提取更新日志,无需额外安装依赖:

单包查询

  1. 先获取包的PyPI主页(可选,用于确认日志位置):
pip show aiofiles | grep -i Home-page
  1. 直接抓取对应版本的发行说明:
# 替换<包名>和<最新版本>为实际内容
curl -s https://pypi.org/project/<包名>/<最新版本>/ | grep -A 30 "Release Notes" | grep -v '<[^>]*>'

批量处理脚本

遍历所有过时包,自动提取每个包的最新版本并抓取日志:

# 遍历过时包,提取包名和最新版本
pip list --outdated --format=freeze | cut -d'=' -f1 | while read pkg; do
    # 获取最新版本号
    latest=$(pip index versions "$pkg" 2>/dev/null | grep -oP '(?<=Latest: ).*')
    if [ -z "$latest" ]; then
        echo "⚠️ 无法获取 $pkg 的最新版本信息"
        continue
    fi
    echo "=== $pkg $latest 更新日志 ==="
    # 抓取并过滤HTML格式的日志内容
    curl -s "https://pypi.org/project/$pkg/$latest/" | grep -A 30 "Release Notes" | sed 's/<[^>]*>//g' | awk 'NF'
    echo -e "\n"
done

注:该脚本依赖grep的Perl正则支持,部分Linux发行版或macOS可能需要调整参数。

方法2:使用第三方工具pip-changelog

专门针对PyPI包更新日志的工具,支持批量查询过时包的日志,使用更简便:

  1. 安装工具:
pip install pip-changelog
  1. 查看所有过时包的更新日志:
pip-changelog outdated
  1. 查看单个包的指定版本对比日志:
pip-changelog show attrs --from 22.2.0 --to 23.1.0

方法3:通过PyPI API结构化获取

PyPI提供官方JSON API,结合jq工具可以解析结构化的发行数据,适合复杂自动化场景:

  1. 先安装jq(JSON解析工具):
# Debian/Ubuntu
sudo apt install jq
# macOS
brew install jq
  1. 单包查询最新版本日志:
curl -s https://pypi.org/pypi/aiofiles/json | jq -r '.releases["23.1.0"][0].description'
  1. 批量处理脚本:
pip list --outdated --format=json | jq -r '.[] | .name + " " + .latest' | while read pkg latest; do
    echo "=== $pkg $latest 更新日志 ==="
    # 从API获取结构化描述
    curl -s "https://pypi.org/pypi/$pkg/json" | jq -r ".releases[\"$latest\"][0].description // \"无公开更新日志\""
    echo -e "\n"
done

注:部分包的description字段可能不包含完整日志,可通过API返回的info.home_page字段抓取项目仓库的CHANGELOG.md或RELEASE.md文件补充。

内容的提问来源于stack exchange,提问作者Simd

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 14:42:45