Python依赖查看案例如何查询版本

wen python案例 21

本文目录导读:

Python依赖查看案例如何查询版本

  1. 使用 pip 命令查看
  2. 使用 pip freeze 查看依赖
  3. 查看 requirements.txt 文件
  4. 在 Python 代码中查看
  5. 使用 pipdeptree 查看依赖树
  6. 综合案例:创建一个依赖报告
  7. 使用第三方工具:pip-audit
  8. 实战案例:项目依赖检查
  9. 快速参考命令

在Python中查看依赖版本有多种方法,以下是常用的几种方式:

使用 pip 命令查看

查看所有已安装包及其版本

pip list

查看特定包的版本

pip show 包名
# 示例:pip show pandas

查看过期包(显示当前版本和最新版本)

pip list --outdated

使用 pip freeze 查看依赖

pip freeze
# 输出格式:包名==版本号

查看 requirements.txt 文件

# 如果项目使用了 requirements.txt
cat requirements.txt
# 或者查看项目的依赖文件
cat requirements.txt | grep 包名

在 Python 代码中查看

# 方法1:使用 import 和 __version__
import pandas
print(pandas.__version__)
# 方法2:使用 pkg_resources
import pkg_resources
print(pkg_resources.get_distribution("pandas").version)
# 方法3:使用 importlib.metadata (Python 3.8+)
from importlib.metadata import version
print(version("pandas"))

使用 pipdeptree 查看依赖树

# 安装工具
pip install pipdeptree
# 显示依赖树
pipdeptree
# 查看特定包的依赖
pipdeptree -p 包名
# 显示循环依赖
pipdeptree --cycle

综合案例:创建一个依赖报告

#!/usr/bin/env python3
"""
Python 依赖版本检查工具
"""
import subprocess
import sys
from importlib.metadata import distributions, version
def check_pip_packages():
    """使用 pip 命令检查"""
    print("=== pip list 输出 ===")
    result = subprocess.run([sys.executable, "-m", "pip", "list"], 
                          capture_output=True, text=True)
    print(result.stdout)
def check_specific_package(package_name):
    """检查特定包版本"""
    try:
        ver = version(package_name)
        print(f"\n{package_name} 版本: {ver}")
    except Exception as e:
        print(f"\n{package_name} 未安装: {e}")
def list_all_distributions():
    """列出所有已安装的发行版"""
    print("\n=== 所有已安装包 ===")
    for dist in distributions():
        print(f"{dist.metadata['Name']} - {dist.version}")
def main():
    # 检查所有包
    check_pip_packages()
    # 检查特定包
    packages_to_check = ['numpy', 'pandas', 'requests', 'django', 'flask']
    for pkg in packages_to_check:
        check_specific_package(pkg)
    # 列出所有发行版
    list_all_distributions()
if __name__ == "__main__":
    main()

使用第三方工具:pip-audit

# 安装
pip install pip-audit
# 检查依赖安全性和版本
pip-audit
# 输出为 JSON 格式
pip-audit --format json

实战案例:项目依赖检查

import json
import subprocess
from pathlib import Path
def analyze_project_dependencies(project_path="."):
    """分析项目依赖"""
    # 1. 检查 requirements.txt
    req_file = Path(project_path) / "requirements.txt"
    if req_file.exists():
        print("=== requirements.txt 内容 ===")
        with open(req_file) as f:
            print(f.read())
    # 2. 检查 setup.py 或 pyproject.toml
    setup_file = Path(project_path) / "setup.py"
    if setup_file.exists():
        print("\n=== setup.py 中的依赖 ===")
        # 简单的解析
        with open(setup_file) as f:
            content = f.read()
            # 提取 install_requires 部分
            if 'install_requires' in content:
                start = content.find('install_requires')
                print(content[start:start+200])
    # 3. 使用 pip 获取环境信息
    print("\n=== 当前环境依赖 ===")
    subprocess.run([sys.executable, "-m", "pip", "freeze"])
# 运行分析
analyze_project_dependencies()

快速参考命令

命令 用途
pip list 查看所有包
pip show 包名 查看包详情
pip freeze 生成依赖列表
pip list --outdated 检查更新
pipdeptree 显示依赖树
提示:``python --version 查看 Python 版本

这些方法可以帮你快速了解项目的 Python 依赖情况。

抱歉,评论功能暂时关闭!