blob: 2c01d411a2cdf964c202abaa50e9e1e374a32b8b [file] [log] [blame]
@REM
@REM Licensed to the Apache Software Foundation (ASF) under one
@REM or more contributor license agreements. See the NOTICE file
@REM distributed with this work for additional information
@REM regarding copyright ownership. The ASF licenses this file
@REM to you under the Apache License, Version 2.0 (the
@REM "License"); you may not use this file except in compliance
@REM with the License. You may obtain a copy of the License at
@REM
@REM http://www.apache.org/licenses/LICENSE-2.0
@REM
@REM Unless required by applicable law or agreed to in writing,
@REM software distributed under the License is distributed on an
@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
@REM KIND, either express or implied. See the License for the
@REM specific language governing permissions and limitations
@REM under the License.
@REM
@echo off
@REM The defaulte venv environment is used if ain_interpreter_dir is not set. Please use absolute path without quotation mark
@REM set ain_interpreter_dir=
@REM Set ain_force_reinstall to 1 to force reinstall ainode
set ain_force_reinstall=0
@REM don't install dependencies online
set ain_install_offline=0
pushd %~dp0..\..
if NOT DEFINED IOTDB_AINODE_HOME set IOTDB_AINODE_HOME=%cd%
:initial
if "%1"=="" goto done
set aux=%1
if "%aux:~0,2%"=="-r" (
set ain_force_reinstall=1
shift
goto initial
)
if "%aux:~0,2%"=="-n" (
set ain_no_dependencies=--no-dependencies
shift
goto initial
)
if "%aux:~0,1%"=="-" (
set nome=%aux:~1,250%
) else (
set "%nome%=%1"
set nome=
)
shift
goto initial
:done
@REM check if the parameters are set
if "%i%"=="" (
echo No interpreter_dir is set, use default value.
) else (
set ain_interpreter_dir=%i%
)
echo Script got inputs: ain_interpreter_dir: %ain_interpreter_dir% , ain_force_reinstall: %ain_force_reinstall%
if "%ain_interpreter_dir%"=="" (
%IOTDB_AINODE_HOME%//venv//Scripts//python.exe -c "import sys; print(sys.executable)" && (
echo Activate default venv environment
) || (
echo Creating default venv environment
python -m venv "%IOTDB_AINODE_HOME%//venv"
)
set ain_interpreter_dir="%IOTDB_AINODE_HOME%//venv//Scripts//python.exe"
)
@REM Switch the working directory to the directory one level above the script
cd %IOTDB_AINODE_HOME%
echo Confirming ainode
%ain_interpreter_dir% -m pip config set global.disable-pip-version-check true
%ain_interpreter_dir% -m pip list | findstr /C:"apache-iotdb-ainode" >nul
if %errorlevel% == 0 (
if %ain_force_reinstall% == 0 (
echo ainode is already installed
exit /b 0
)
)
set ain_only_ainode=1
@REM if $ain_install_offline is 1 then do not install dependencies
if %ain_install_offline% == 1 (
@REM if offline and not -n, then install dependencies
if "%ain_no_dependencies%"=="" (
set ain_only_ainode=0
) else (
set ain_only_ainode=1
)
set ain_no_dependencies=--no-dependencies
echo Installing ainode offline----without dependencies...
)
if %ain_force_reinstall% == 1 (
set ain_force_reinstall=--force-reinstall
) else (
set ain_force_reinstall=
)
echo Installing ainode...
@REM Print current work dir
cd lib
for %%i in (*.whl *.tar.gz) do (
echo %%i | findstr "ainode" >nul && (
echo Installing ainode body: %%i
%ain_interpreter_dir% -m pip install %%i %ain_force_reinstall% --no-warn-script-location %ain_no_dependencies% --find-links https://download.pytorch.org/whl/cpu/torch_stable.html
) || (
@REM if ain_only_ainode is 0 then install dependencies
if %ain_only_ainode% == 0 (
echo Installing dependencies: %%i
set ain_force_reinstall=--force-reinstall
%ain_interpreter_dir% -m pip install %%i %ain_force_reinstall% --no-warn-script-location %ain_no_dependencies% --find-links https://download.pytorch.org/whl/cpu/torch_stable.html
)
)
if %errorlevel% == 1 (
echo Failed to install ainode
exit /b 1
)
)
echo ainode is installed successfully
cd ..
exit /b 0