File size: 4,743 Bytes
882ea5e |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 |
@echo off
chcp 65001
set USE_MIRROR=true
echo "USE_MIRROR: %USE_MIRROR%"
setlocal enabledelayedexpansion
cd /D "%~dp0"
set PATH="%PATH%";%SystemRoot%\system32
echo %PATH%
echo "%CD%"| findstr /R /C:"[!#\$%&()\*+,;<=>?@\[\]\^`{|}~\u4E00-\u9FFF ] " >nul && (
echo.
echo There are special characters in the current path, please make the path of fish-speech free of special characters before running. && (
goto end
)
)
set TMP=%CD%\fishenv
set TEMP=%CD%\fishenv
(call conda deactivate && call conda deactivate && call conda deactivate) 2>nul
set INSTALL_DIR=%cd%\fishenv
set CONDA_ROOT_PREFIX=%cd%\fishenv\conda
set INSTALL_ENV_DIR=%cd%\fishenv\env
set PIP_CMD=%cd%\fishenv\env\python -m pip
set PYTHON_CMD=%cd%\fishenv\env\python
set API_FLAG_PATH=%~dp0API_FLAGS.txt
set MINICONDA_DOWNLOAD_URL=https://repo.anaconda.com/miniconda/Miniconda3-py310_23.3.1-0-Windows-x86_64.exe
if "!USE_MIRROR!" == "true" (
set MINICONDA_DOWNLOAD_URL=https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-py310_23.3.1-0-Windows-x86_64.exe
)
set MINICONDA_CHECKSUM=307194e1f12bbeb52b083634e89cc67db4f7980bd542254b43d3309eaf7cb358
set conda_exists=F
call "%CONDA_ROOT_PREFIX%\_conda.exe" --version >nul 2>&1
if "%ERRORLEVEL%" EQU "0" set conda_exists=T
if "%conda_exists%" == "F" (
echo.
echo Downloading Miniconda...
mkdir "%INSTALL_DIR%" 2>nul
call curl -Lk "%MINICONDA_DOWNLOAD_URL%" > "%INSTALL_DIR%\miniconda_installer.exe"
if errorlevel 1 (
echo.
echo Failed to download miniconda.
goto end
)
for /f %%a in ('
certutil -hashfile "%INSTALL_DIR%\miniconda_installer.exe" sha256
^| find /i /v " "
^| find /i "%MINICONDA_CHECKSUM%"
') do (
set "hash=%%a"
)
if not defined hash (
echo.
echo Miniconda hash mismatched!
del "%INSTALL_DIR%\miniconda_installer.exe"
goto end
) else (
echo.
echo Miniconda hash matched successfully.
)
echo Downloaded "%CONDA_ROOT_PREFIX%"
start /wait "" "%INSTALL_DIR%\miniconda_installer.exe" /InstallationType=JustMe /NoShortcuts=1 /AddToPath=0 /RegisterPython=0 /NoRegistry=1 /S /D=%CONDA_ROOT_PREFIX%
call "%CONDA_ROOT_PREFIX%\_conda.exe" --version
if errorlevel 1 (
echo.
echo Cannot install Miniconda.
goto end
) else (
echo.
echo Miniconda Install success.
)
del "%INSTALL_DIR%\miniconda_installer.exe"
)
if not exist "%INSTALL_ENV_DIR%" (
echo.
echo Creating Conda Environment...
if "!USE_MIRROR!" == "true" (
call "%CONDA_ROOT_PREFIX%\_conda.exe" create --no-shortcuts -y -k --prefix "%INSTALL_ENV_DIR%" -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/ python=3.10
) else (
call "%CONDA_ROOT_PREFIX%\_conda.exe" create --no-shortcuts -y -k --prefix "%INSTALL_ENV_DIR%" python=3.10
)
if errorlevel 1 (
echo.
echo Failed to Create Environment.
goto end
)
)
if not exist "%INSTALL_ENV_DIR%\python.exe" (
echo.
echo Conda Env does not exist.
goto end
)
set PYTHONNOUSERSITE=1
set PYTHONPATH=
set PYTHONHOME=
set "CUDA_PATH=%INSTALL_ENV_DIR%"
set "CUDA_HOME=%CUDA_PATH%"
call "%CONDA_ROOT_PREFIX%\condabin\conda.bat" activate "%INSTALL_ENV_DIR%"
if errorlevel 1 (
echo.
echo Failed to activate Env.
goto end
) else (
echo.
echo successfully create env.
)
set "HF_ENDPOINT=https://huggingface.co"
set "no_proxy="
if "%USE_MIRROR%"=="true" (
set "HF_ENDPOINT=https://hf-mirror.com"
set "no_proxy=localhost,127.0.0.1,0.0.0.0"
)
echo "HF_ENDPOINT: !HF_ENDPOINT!"
echo "NO_PROXY: !no_proxy!"
%PIP_CMD% install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
%PIP_CMD% install -e . --upgrade-strategy only-if-needed
call :download_and_install "triton_windows-0.1.0-py3-none-any.whl" ^
"%HF_ENDPOINT%/datasets/SpicyqSama007/windows_compile/resolve/main/triton_windows-0.1.0-py3-none-any.whl?download=true" ^
"2cc998638180f37cf5025ab65e48c7f629aa5a369176cfa32177d2bd9aa26a0a"
endlocal
echo "Environment Check: Success."
pause
goto :EOF
:download_and_install
setlocal
set "WHEEL_FILE=%1"
set "URL=%2"
set "CHKSUM=%3"
:DOWNLOAD
if not exist "%WHEEL_FILE%" (
call curl -Lk "%URL%" --output "%WHEEL_FILE%"
)
for /f "delims=" %%I in ("certutil -hashfile %WHEEL_FILE% SHA256 ^| find /i %CHKSUM%") do (
set "FILE_VALID=true"
)
if not defined FILE_VALID (
echo File checksum does not match, re-downloading...
del "%WHEEL_FILE%"
goto DOWNLOAD
)
echo "OK for %WHEEL_FILE%"
%PIP_CMD% install "%WHEEL_FILE%" --no-warn-script-location
del "%WHEEL_FILE%"
endlocal
goto :EOF
|