Skip to main content

用于检测当前代码环境是否拥有开发者所要求的库,并安装。可用于直接分发代码快捷安装

Project description

DepChecker

一个轻量级的Python库,用于快速检测和安装项目所需的依赖包。

功能特性

  • 依赖检测 - 检查包是否安装及版本是否符合要求
  • 🔧 自动安装 - 一键安装所有缺失或需要更新的包
  • 📊 详细报告 - 清晰的检查结果和状态显示
  • 🚀 简单易用 - 提供类接口和便捷函数两种使用方式
  • 🔄 版本控制 - 支持最低版本要求检查

安装

pip install depchecker

快速开始

方式一:使用便捷函数

from depchecker import quick_check

# 定义项目依赖
REQUIREMENTS = {
    "requests": "2.31.0",
    "numpy": "1.21.0", 
    "pandas": "1.3.0",
    "matplotlib": "3.4.0"
}

# 快速检查并自动安装
ready = quick_check(REQUIREMENTS, auto_install=True, verbose=True)

if ready:
    print("✅ 环境准备就绪!")
else:
    print("❌ 环境准备失败")

方式二:使用类接口

from depchecker import DependencyChecker

# 创建检测器实例
checker = DependencyChecker({
    "flask": "2.0.0",
    "sqlalchemy": "1.4.0",
    "redis": "4.0.0"
})

# 检查所有依赖
results = checker.check_all()
print("检查结果:", results)

# 安装缺失的包
if not checker.is_ready():
    checker.install_all(verbose=True)

API 参考

DependencyChecker

__init__(requirements: Dict[str, str])

初始化依赖检测器。

  • requirements: 依赖包字典,格式为 {包名: 最低版本}

check_package(package_name: str, min_version: Optional[str] = None) -> Tuple[bool, str, str]

检查单个包的安装状态。

  • 返回: (是否安装, 当前版本, 状态信息)

check_all() -> Dict[str, Tuple[bool, str, str]]

检查所有要求的依赖包。

  • 返回: 字典格式的检查结果 {包名: (是否安装, 版本, 状态)}

install_all(verbose: bool = False) -> Dict[str, bool]

安装所有缺失和需要更新的包。

  • 返回: 安装结果字典 {包名: 是否成功}

is_ready() -> bool

检查所有依赖是否都已满足。

quick_check(requirements: Dict[str, str], auto_install: bool = False, verbose: bool = False) -> bool

快速检查依赖的便捷函数。

  • auto_install: 是否自动安装缺失的包
  • verbose: 是否显示详细输出
  • 返回: 所有依赖是否就绪

示例输出

📦 依赖库检查:
--------------------------------------------------
requests      2.28.0       ✓ (需要: 2.31.0+)
numpy         1.20.0       ✗ 需要版本 >= 1.21.0 (需要: 1.21.0+)
pandas        未安装       ✗ (需要: 1.3.0+)
--------------------------------------------------
🔧 自动安装缺失的库...
安装 numpy>=1.21.0...
✓ numpy 安装成功
安装 pandas>=1.3.0...
✓ pandas 安装成功
🎉 所有依赖库安装完成!
✅ 环境准备就绪,可以开始开发!

贡献

欢迎提交 Issue 和 Pull Request!

许可证

MIT License

支持版本

  • Python 3.7+
  • 支持 Windows、macOS、Linux

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

yhd_depchecker-1.0.0.tar.gz (4.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

yhd_depchecker-1.0.0-py3-none-any.whl (2.9 kB view details)

Uploaded Python 3

File details

Details for the file yhd_depchecker-1.0.0.tar.gz.

File metadata

  • Download URL: yhd_depchecker-1.0.0.tar.gz
  • Upload date:
  • Size: 4.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.5

File hashes

Hashes for yhd_depchecker-1.0.0.tar.gz
Algorithm Hash digest
SHA256 d6e57a0d43c7ce2dc070b3e0bb6e035238dc0b8398ce60d3db070c96ab113d0b
MD5 70b5f459298d0c416ccdbd39934d45b4
BLAKE2b-256 21950554b54cf5eef9b3a76bf3642f774a930ed67d6f619ba1b5e55913f8388d

See more details on using hashes here.

File details

Details for the file yhd_depchecker-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: yhd_depchecker-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 2.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.5

File hashes

Hashes for yhd_depchecker-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 22f2a706d5bb458e62e78aa0a1bb558861df0df5832ea9d846c3f26fb7c6c88b
MD5 816c717ba301fce81e1841bca750e4de
BLAKE2b-256 c38a2ed137d6b4dbf0bb99385e26bb63846a9e04a75384fb1064c78f638dbbd4

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page