🎨 自动安装依赖失败之后修改重试

This commit is contained in:
KimigaiiWuyi 2024-09-30 23:50:14 +08:00
parent 0c8699ba87
commit 3e6ac712ef

View File

@ -266,7 +266,25 @@ def install_dependencies(dependencies: Dict, need_update: bool = False):
CMD = f'{start_tool} install "{dependency}{version}" {extra}' CMD = f'{start_tool} install "{dependency}{version}" {extra}'
try: try:
logger.info(f'[安装/更新依赖] 开始执行:{CMD}') execute_cmd(CMD)
except Exception as e1:
logger.exception(
f'[安装/更新依赖] 安装失败(将会重试一次):{e1}'
)
if ' python -m' in start_tool:
start_tool = start_tool.replace('python -m', '')
CMD = (
f'{start_tool} install "{dependency}{version}" {extra}'
)
try:
execute_cmd(CMD)
except Exception as e2:
logger.exception(f'[安装/更新依赖] 安装失败:{e2}')
installed_dependencies = get_installed_dependencies()
def execute_cmd(CMD: str):
logger.info(f'[CMD执行] 开始执行:{CMD}')
result = subprocess.run( result = subprocess.run(
CMD, CMD,
capture_output=True, capture_output=True,
@ -275,13 +293,11 @@ def install_dependencies(dependencies: Dict, need_update: bool = False):
) )
# 检查命令执行结果 # 检查命令执行结果
if result.returncode == 0: if result.returncode == 0:
logger.success(f"依赖 {dependency} 安装成功!") logger.success(f"[CMD执行] {CMD} 成功执行!")
else: else:
logger.warning("依赖安装失败。错误信息:") logger.warning(f"[CMD执行] {CMD}执行失败。错误信息:")
logger.warning(result.stderr) logger.warning(result.stderr)
except Exception as e: return result.returncode
logger.exception(f'[安装/更新依赖] 安装失败:{e}')
installed_dependencies = get_installed_dependencies()
def get_installed_dependencies(): def get_installed_dependencies():