Python 包版本查询与 CI 版本固定速查

查看本地已安装版本

c 复制代码
pip show <package>

输出包含 Name、Version、Location 等元信息。

c 复制代码
pip show black
# Name: black
# Version: 25.11.0

简版:pip show <package> | grep Version

查看 PyPI 上最新可用版本

c 复制代码
pip index versions <package>
c 复制代码
pip index versions black
# black (26.5.1)
# INSTALLED: 25.11.0
# LATEST:    26.5.1

会同时显示本地版本、最新版本、以及全部可用版本列表。

其他常用方式

用途 命令
列出所有已安装包 pip list
仅列出过期包 pip list --outdated
仅查看本地版本 pip show <package>
仅查看最新版本 pip index versions <package>
升级包 pip install --upgrade <package>
安装指定版本 pip install <package>==x.y.z
冻结当前环境 pip freeze > requirements.txt

注意

  • pip index versions 需要 pip >= 21.2,旧版本用 pip install <package>==(不写版本号会报错并列出所有版本)作为替代
  • --outdated 列出的包按 installed / latest / pypi 三列显示,方便一眼看出哪些需要升级

GitHub Actions 中固定版本

CI 中默认 pip install <package> 会装最新版,本地与 CI 版本不一致可能导致格式/行为差异。

固定到指定版本:

yaml 复制代码
- name: Lint with Black
  run: |
    pip install black==25.1.0
    black --check .

如果多处用到,也可以在 pyproject.toml 中声明 optional dependencies:

c 复制代码
[project.optional-dependencies]
lint = ["black==25.1.0"]
c 复制代码
- run: pip install ".[lint]"

不过最保险的方式是 CI 里直接写死版本号,一目了然、不受上游影响。