mirror of
https://github.com/linyqh/NarratoAI.git
synced 2025-12-11 10:32:49 +00:00
新增bat脚本
This commit is contained in:
parent
bc236cd195
commit
0808974bf0
BIN
check_gpu_cuda_cudnn.bat
Normal file
BIN
check_gpu_cuda_cudnn.bat
Normal file
Binary file not shown.
88
start.bat
Normal file
88
start.bat
Normal file
@ -0,0 +1,88 @@
|
||||
@echo off
|
||||
:: 设置控制台代码页为UTF-8,解决中文显示问题
|
||||
chcp 65001 >nul
|
||||
:: 关闭命令回显,使脚本运行时更整洁
|
||||
|
||||
:: 获取当前脚本所在目录路径并存储在变量中
|
||||
set "CURRENT_DIR=%~dp0"
|
||||
echo ***** 当前工作目录: %CURRENT_DIR% *****
|
||||
|
||||
:: ==================== FFmpeg 配置 ====================
|
||||
:: 设置 FFmpeg 可执行文件的完整路径
|
||||
set "FFMPEG_BINARY=%CURRENT_DIR%lib\ffmpeg\ffmpeg-7.0-essentials_build\ffmpeg.exe"
|
||||
set "FFMPEG_PATH=%CURRENT_DIR%lib\ffmpeg\ffmpeg-7.0-essentials_build"
|
||||
echo ***** FFmpeg 执行文件路径: %FFMPEG_BINARY% *****
|
||||
|
||||
:: 将 FFmpeg 目录添加到系统 PATH 环境变量,使其可以在命令行中直接调用
|
||||
set "PATH=%FFMPEG_PATH%;%PATH%"
|
||||
|
||||
:: ==================== ImageMagick 配置 ====================
|
||||
:: 设置 ImageMagick 可执行文件的完整路径(用于图像处理)
|
||||
set "IMAGEMAGICK_BINARY=%CURRENT_DIR%lib\imagemagic\ImageMagick-7.1.1-29-portable-Q16-x64\magick.exe"
|
||||
set "IMAGEMAGICK_PATH=%CURRENT_DIR%lib\imagemagic\ImageMagick-7.1.1-29-portable-Q16-x64"
|
||||
echo ***** ImageMagick 执行文件路径: %IMAGEMAGICK_BINARY% *****
|
||||
|
||||
:: 将 ImageMagick 目录添加到系统 PATH 环境变量
|
||||
set "PATH=%IMAGEMAGICK_PATH%;%PATH%"
|
||||
|
||||
:: ==================== Python 环境配置 ====================
|
||||
:: 设置 Python 模块搜索路径,确保能够正确导入项目模块
|
||||
set "PYTHONPATH=%CURRENT_DIR%NarratoAI;%PYTHONPATH%"
|
||||
echo ***** Python模块搜索路径: %PYTHONPATH% *****
|
||||
|
||||
:: ==================== 项目特定环境变量配置 ====================
|
||||
:: 设置项目根目录和依赖工具的路径,供应用程序内部使用
|
||||
set "NARRATO_ROOT=%CURRENT_DIR%NarratoAI"
|
||||
set "NARRATO_FFMPEG=%FFMPEG_BINARY%"
|
||||
set "NARRATO_IMAGEMAGICK=%IMAGEMAGICK_BINARY%"
|
||||
|
||||
:: ==================== Streamlit 配置 ====================
|
||||
:: 设置 Streamlit(Python Web应用框架)的配置文件路径
|
||||
set "USER_HOME=%USERPROFILE%"
|
||||
set "STREAMLIT_DIR=%USER_HOME%\.streamlit"
|
||||
set "CREDENTIAL_FILE=%STREAMLIT_DIR%\credentials.toml"
|
||||
echo ***** Streamlit 凭证文件路径: %CREDENTIAL_FILE% *****
|
||||
|
||||
:: 检查并创建 Streamlit 配置目录和凭证文件(如果不存在)
|
||||
if not exist "%STREAMLIT_DIR%" (
|
||||
echo 创建 Streamlit 配置目录...
|
||||
mkdir "%STREAMLIT_DIR%"
|
||||
(
|
||||
echo [general]
|
||||
echo email=""
|
||||
) > "%CREDENTIAL_FILE%"
|
||||
echo Streamlit 配置文件已创建!
|
||||
)
|
||||
|
||||
:: ==================== 依赖检查 ====================
|
||||
:: 验证必要的外部工具是否存在,确保应用可以正常运行
|
||||
if not exist "%FFMPEG_BINARY%" (
|
||||
echo 错误: 未找到 FFmpeg 执行文件,路径: %FFMPEG_BINARY%
|
||||
echo 请确保已正确安装 FFmpeg 或检查路径配置
|
||||
pause
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
if not exist "%IMAGEMAGICK_BINARY%" (
|
||||
echo 错误: 未找到 ImageMagick 执行文件,路径: %IMAGEMAGICK_BINARY%
|
||||
echo 请确保已正确安装 ImageMagick 或检查路径配置
|
||||
pause
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
:: ==================== 启动应用 ====================
|
||||
:: 切换到项目目录并启动应用
|
||||
echo ***** 切换工作目录到: %CURRENT_DIR%NarratoAI *****
|
||||
cd /d "%CURRENT_DIR%NarratoAI"
|
||||
|
||||
echo ***** 正在启动 NarratoAI 应用... *****
|
||||
:: 使用项目自带的Python解释器启动Streamlit应用
|
||||
"%CURRENT_DIR%lib\python\python.exe" -m streamlit run webui.py --browser.serverAddress="127.0.0.1" --server.enableCORS=True --server.maxUploadSize=2048 --browser.gatherUsageStats=False
|
||||
:: 参数说明:
|
||||
:: --browser.serverAddress="127.0.0.1" - 将服务器绑定到本地地址
|
||||
:: --server.enableCORS=True - 启用跨域资源共享
|
||||
:: --server.maxUploadSize=2048 - 设置最大上传文件大小为2048MB
|
||||
:: --browser.gatherUsageStats=False - 禁用使用统计收集
|
||||
|
||||
:: 应用关闭后暂停,让用户看到最终输出
|
||||
pause
|
||||
112
update.bat
Normal file
112
update.bat
Normal file
@ -0,0 +1,112 @@
|
||||
@echo off
|
||||
chcp 65001 >nul
|
||||
setlocal EnableDelayedExpansion
|
||||
set "CURRENT_DIR=%~dp0"
|
||||
echo ***** 当前目录: %CURRENT_DIR% *****
|
||||
|
||||
REM 清除可能影响的环境变量
|
||||
set PYTHONPATH=
|
||||
set PYTHONHOME=
|
||||
|
||||
REM 初始化代理设置为空
|
||||
set "HTTP_PROXY="
|
||||
set "HTTPS_PROXY="
|
||||
|
||||
:git_pull
|
||||
echo 正在更新代码,请稍候...
|
||||
REM 使用git更新代码并检查是否成功
|
||||
"%CURRENT_DIR%lib\git\bin\git.exe" -C "%CURRENT_DIR%NarratoAI" pull > "%TEMP%\git_output.txt" 2>&1
|
||||
set GIT_EXIT_CODE=%ERRORLEVEL%
|
||||
|
||||
if %GIT_EXIT_CODE% NEQ 0 (
|
||||
echo [错误] 代码更新失败!错误代码: %GIT_EXIT_CODE%
|
||||
type "%TEMP%\git_output.txt"
|
||||
|
||||
findstr /C:"error: 403" /C:"fatal: unable to access" /C:"The requested URL returned error: 403" "%TEMP%\git_output.txt" >nul
|
||||
if !ERRORLEVEL! EQU 0 (
|
||||
echo.
|
||||
echo [提示] 检测到 GitHub 403 错误,可能是由于网络问题导致。
|
||||
|
||||
if not defined HTTP_PROXY (
|
||||
echo.
|
||||
echo 请输入代理地址(例如 http://127.0.0.1:7890),或直接按回车跳过:
|
||||
set /p PROXY_INPUT="> "
|
||||
|
||||
if not "!PROXY_INPUT!"=="" (
|
||||
set "HTTP_PROXY=!PROXY_INPUT!"
|
||||
set "HTTPS_PROXY=!PROXY_INPUT!"
|
||||
echo.
|
||||
echo [信息] 已设置代理: !PROXY_INPUT!
|
||||
echo 正在使用代理重试...
|
||||
goto git_pull
|
||||
) else (
|
||||
echo.
|
||||
echo [警告] 未设置代理,建议:
|
||||
echo - 手动设置系统代理
|
||||
echo - 使用VPN或其他网络工具
|
||||
echo - 重新运行此脚本并输入代理地址
|
||||
)
|
||||
) else (
|
||||
echo.
|
||||
echo [警告] 使用代理 !HTTP_PROXY! 仍然失败。
|
||||
echo 您可以:
|
||||
echo 1. 输入新的代理地址(或直接按回车使用当前代理: !HTTP_PROXY!)
|
||||
echo 2. 输入 "clear" 清除代理设置
|
||||
set /p PROXY_INPUT="> "
|
||||
|
||||
if "!PROXY_INPUT!"=="clear" (
|
||||
set "HTTP_PROXY="
|
||||
set "HTTPS_PROXY="
|
||||
echo [信息] 已清除代理设置
|
||||
goto end
|
||||
) else if not "!PROXY_INPUT!"=="" (
|
||||
set "HTTP_PROXY=!PROXY_INPUT!"
|
||||
set "HTTPS_PROXY=!PROXY_INPUT!"
|
||||
echo [信息] 已更新代理为: !PROXY_INPUT!
|
||||
echo 正在使用新代理重试...
|
||||
goto git_pull
|
||||
) else (
|
||||
echo [信息] 保持当前代理: !HTTP_PROXY!
|
||||
echo 您可以稍后再次尝试或手动解决网络问题
|
||||
)
|
||||
)
|
||||
) else (
|
||||
echo.
|
||||
echo [警告] 遇到其他错误,请检查输出信息以获取更多详情。
|
||||
)
|
||||
goto end
|
||||
) else (
|
||||
echo [成功] 代码已成功更新!
|
||||
)
|
||||
|
||||
echo 正在更新pip,请稍候...
|
||||
"%CURRENT_DIR%lib\python\python.exe" -m pip install --upgrade pip >nul 2>&1
|
||||
if %ERRORLEVEL% NEQ 0 (
|
||||
echo [警告] pip更新失败,将继续使用当前版本。
|
||||
) else (
|
||||
echo [成功] pip已更新至最新版本!
|
||||
)
|
||||
|
||||
echo 正在安装依赖,请稍候...
|
||||
REM 确保使用正确的Python和pip
|
||||
"%CURRENT_DIR%lib\python\python.exe" -m pip install -q -r "%CURRENT_DIR%NarratoAI\requirements.txt"
|
||||
if %ERRORLEVEL% NEQ 0 (
|
||||
echo [错误] 依赖安装失败!请检查requirements.txt文件是否存在。
|
||||
goto end
|
||||
) else (
|
||||
echo [成功] 依赖安装完成!
|
||||
)
|
||||
|
||||
echo ===================================
|
||||
echo ✓ 程序更新已完成
|
||||
echo ===================================
|
||||
|
||||
:end
|
||||
if exist "%TEMP%\git_output.txt" del "%TEMP%\git_output.txt"
|
||||
REM 清除设置的代理环境变量
|
||||
if defined HTTP_PROXY (
|
||||
echo [信息] 本次会话的代理设置已清除
|
||||
set "HTTP_PROXY="
|
||||
set "HTTPS_PROXY="
|
||||
)
|
||||
pause
|
||||
Loading…
x
Reference in New Issue
Block a user