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

Python版本更新:如何列出虚拟环境中不兼容指定版本的包

如何列出虚拟环境中不支持目标Python版本的软件包

方法1:编写Python脚本精准检查

先激活你的虚拟环境,安装依赖库:

pip install packaging

创建一个名为check_compat.py的脚本,替换其中的target_py_version为你的目标Python版本(比如3.11):

import sys
from packaging import version
import pkg_resources

# 设置目标Python版本
target_py_version = version.parse("3.11")

incompatible_pkgs = []

for pkg in pkg_resources.working_set:
    # 提取包的Python版本要求
    requires_python = None
    try:
        requires_python = pkg.get_metadata("Requires-Python")
    except KeyError:
        # 包未声明版本要求,标记待确认
        incompatible_pkgs.append(f"{pkg.project_name} ({pkg.version}) - 未声明Python版本兼容性")
        continue
    
    # 检查目标版本是否满足约束
    spec = version.SpecifierSet(requires_python.strip())
    if target_py_version not in spec:
        incompatible_pkgs.append(f"{pkg.project_name} ({pkg.version}) - 要求Python版本: {requires_python.strip()}")

print("不支持目标Python版本的软件包:")
for pkg in incompatible_pkgs:
    print(f"- {pkg}")

运行脚本查看结果:

python check_compat.py

方法2:用pip-audit工具快速扫描

pip-audit不仅能检查包的安全漏洞,也能识别不兼容目标Python版本的包。

激活虚拟环境后安装工具:

pip install pip-audit

指定目标Python版本运行扫描:

pip-audit --python-version 3.11

扫描结果中会明确标注哪些包不支持指定的Python版本。

方法3:手动排查依赖(适合小型环境)

  1. 导出当前环境的依赖列表:
pip freeze > requirements.txt
  1. 逐个检查包的版本要求,用pip show命令查看单个包的兼容性声明:
pip show requests

在输出中找到Requires-Python字段,对比你的目标Python版本是否符合其约束。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 18:45:30