aboutsummaryrefslogtreecommitdiff
path: root/installer/pip_install.cmd
diff options
context:
space:
mode:
Diffstat (limited to 'installer/pip_install.cmd')
-rw-r--r--installer/pip_install.cmd53
1 files changed, 42 insertions, 11 deletions
diff --git a/installer/pip_install.cmd b/installer/pip_install.cmd
index 3fa4b5d..c99009f 100644
--- a/installer/pip_install.cmd
+++ b/installer/pip_install.cmd
@@ -4,21 +4,52 @@ if "x%1" equ "x" goto :EOF
if "x%2" equ "x" goto :EOF
set server_dir=..\servers\%1
-if exist "%server_dir%" rd /Q /S "%server_dir%"
+rd /Q /S "%server_dir%" 2>NUL
md "%server_dir%"
-cd /d "%server_dir%"
+cd "%server_dir%"
-where python3 2>NUL
-if %ERRORLEVEL% neq 0 (
- python3 -m venv ./venv
- venv\bin\pip3 install %2
-) else (
- python -m venv ./venv
- venv\bin\pip install %2
-)
+REM python(ver 3.x) or python3 check
+where python && goto :python
+:python_fail
+where python3 && goto :python3
+:python3_fail
+goto :EOF
+
+:python
+REM python is 2 or 3 check(python3 version at python3 grammar)
+python -c "import sys; from distutils.version import LooseVersion;sys.exit(0 if (LooseVersion(sys.version) > LooseVersion('3')) else 1)"
+if errorlevel 1 goto :python_fail
+
+REM python support slash path split?
+python -m venv ./venv
+if not errorlevel 1 goto :install
+python -m venv .\venv
+goto :install
+
+:python3
+REM python3 always python 3.x :-)
+REM python3 -c "import sys; from distutils.version import LooseVersion;sys.exit(0 if (LooseVersion(sys.version) > LooseVersion('3')) else 1)"
+REM if errorlevel 1 goto :python3_fail
+
+REM python3 support slash path split?
+python3 -m venv ./venv
+if not errorlevel 1 goto :install
+python3 -m venv .\venv
+goto :install
+
+:install
+
+REM pip command path check (env var set just path&&... need)
+where venv\bin\:pip3 && set PIPPATH=venv\bin&& goto :generate
+where venv\Scripts\:pip3 && set PIPPATH=venv\Scripts&& goto :generate
+goto :EOF
+
+REM pyls exec cmd generate
+:generate
+%PIPPATH%\pip3 install %2
echo @echo off ^
-%%~dp0\venv\bin\%1.cmd %%* ^
+%%~dp0\%PIPPATH%\%1 %%* ^
> %1.cmd