32 lines
1.0 KiB
Python
32 lines
1.0 KiB
Python
|
|
"""安装项目依赖 - 最简方式"""
|
|||
|
|
import subprocess
|
|||
|
|
import sys
|
|||
|
|
import os
|
|||
|
|
|
|||
|
|
pip = r"C:\Users\simon\.workbuddy\binaries\python\envs\default\Scripts\pip.exe"
|
|||
|
|
|
|||
|
|
# 逐步安装,避免一次性安装大包失败
|
|||
|
|
packages_list = [
|
|||
|
|
# 核心依赖(有预编译 wheel)
|
|||
|
|
["sqlalchemy>=2.0.0", "aiosqlite", "pytest", "pytest-asyncio"],
|
|||
|
|
# FastAPI 及其依赖
|
|||
|
|
["fastapi", "uvicorn", "python-multipart"],
|
|||
|
|
# 其他
|
|||
|
|
["httpx", "python-dotenv", "redis", "cryptography"],
|
|||
|
|
]
|
|||
|
|
|
|||
|
|
results = []
|
|||
|
|
for i, packages in enumerate(packages_list):
|
|||
|
|
result = subprocess.run(
|
|||
|
|
[pip, "install"] + packages,
|
|||
|
|
capture_output=True, text=True
|
|||
|
|
)
|
|||
|
|
results.append(f"--- Batch {i+1} (exit: {result.returncode}) ---")
|
|||
|
|
results.append(result.stdout[-500:] if result.stdout else "(no stdout)")
|
|||
|
|
if result.stderr:
|
|||
|
|
results.append(result.stderr[-300:])
|
|||
|
|
|
|||
|
|
output = "\n".join(results)
|
|||
|
|
with open(r"C:\Users\simon\WorkBuddy\2026-05-21-16-57-26\install_batch.txt", "w", encoding="utf-8") as f:
|
|||
|
|
f.write(output)
|