30 lines
816 B
Python
30 lines
816 B
Python
#!/usr/bin/env python3
|
|
"""环境自检:验证分析/CLI 依赖可用,打印版本表。退出码 0=全部通过。"""
|
|
import importlib
|
|
import shutil
|
|
import sys
|
|
|
|
DEPS = ["bleak", "PIL", "pytest", "capstone", "androguard"]
|
|
|
|
|
|
def main() -> int:
|
|
ok = True
|
|
for mod in DEPS:
|
|
try:
|
|
m = importlib.import_module(mod)
|
|
ver = getattr(m, "__version__", "?")
|
|
print(f"OK {mod:<12} {ver}")
|
|
except ImportError as e:
|
|
ok = False
|
|
print(f"FAIL {mod:<12} {e}")
|
|
for tool in ["git"]:
|
|
path = shutil.which(tool)
|
|
print(f"{'OK ' if path else 'FAIL'} {tool:<12} {path or 'missing'}")
|
|
ok = ok and bool(path)
|
|
print("ENV:", "PASS" if ok else "FAIL")
|
|
return 0 if ok else 1
|
|
|
|
|
|
if __name__ == "__main__":
|
|
sys.exit(main())
|