其实 RT Thread 提供了 Windows 上的一键安装包,也提供了自动安装脚本

但这个脚本默认会在非虚拟环境下安装许多包,污染系统 path(强迫症不能忍!)

而 env-windows 使用了 ConEmu,和 clink 配合起来长这样:
1748955351872
很难说优雅好吧!

秉持着极客折腾精神,我们选择手动安装 Env。

参考官方的脚本,创建虚拟环境后安装必要的依赖:

1
2
3
4
mkdir rttEnv && cd rttEnv\
virtualenv .venv
.venv\Scripts\activate.bat
pip install scons pyocd tqdm kconfiglib requests psutil

再仿照touch_env.ps1,clone 对应的仓库:

1
2
3
4
5
6
7
mkdir .env\local_pkgs
mkdir .env\packages
mkdir .env\tools
git clone --depth=1 https://github.com/RT-Thread/packages.git .env\packages\packages
git clone --depth=1 https://github.com/RT-Thread/sdk.git .env\packages\sdk
git clone --depth=1 https://github.com/RT-Thread/env.git .env\tools\scripts
echo 'source "$PKGS_DIR/packages/Kconfig"' > .env\packages\Kconfig

最后再创建一个 entry point:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
❯ cat rttEnv.bat
@echo off
if "%CMDCALL%"=="" (
echo.
echo Please run this script using: call %~nx0
echo.
set CMDCALL=1
exit /b
)

set "VENV_ROOT=%~dp0.venv"
if not exist "%VENV_ROOT%" (
echo Creating virtual environment...
python -m venv "%VENV_ROOT%"
call "%VENV_ROOT%\Scripts\activate.bat"
pip install "%~dp0tools\scripts"
)

set ENV_ROOT=%~dp0\.env
set PKGS_ROOT=%~dp0\.env\packages # 由于我们并没有在 $USER 下安装,需要修改这两个环境变量

call "%VENV_ROOT%\Scripts\activate.bat"

使用时直接 call path_to_the_script/rttEnv.bat 就行了:

1749023925613


更新:

今天研究发现直接调用 tools\bin\env-init.bat 也是可以的。
如果已经激活了 clink,会报错,但并不影响正常使用。
如果有强迫症,可以手动修改 env-init.bat 将激活的几行删掉。
1750903672565