1. 为什么选择 WSL2 作为你的强化学习“开发沙盒”?
如果你刚开始接触强化学习,或者想找一个干净、省心的环境来折腾各种算法和库,我强烈建议你试试 WSL2。我自己从虚拟机、双系统一路用过来,最后发现 WSL2 才是那个“刚刚好”的解决方案。它不是什么新鲜玩意儿,但用它来搭建一个强化学习实验平台,体验真的非常丝滑。
先说说我们常遇到的几个选择。虚拟机,比如 VirtualBox 或 VMware,功能确实完整,能给你一个完全独立的 Linux 系统。但问题也很明显:资源占用高,启动慢,而且宿主机和虚拟机之间的文件共享、剪贴板同步总是有点别扭,更别说那令人头疼的显卡直通问题了。你想在虚拟机里跑个稍微吃 GPU 的强化学习环境?性能损耗会让你怀疑人生。双系统就更硬核了,你得分配硬盘、处理引导,每次切换都要重启电脑。对于需要频繁在 Windows 下查资料、写文档,同时又在 Linux 下跑实验的我们来说,这种物理上的隔离实在太不方便了。
那么 WSL2 到底好在哪里?简单说,它完美地融合了“轻量”和“完整”。它不是一个完整的虚拟化系统,而是 Windows 内核的一个子系统,这带来了几个核心优势。第一是启动速度极快,几乎是秒开,让你想用就用,没有心理负担。第二是资源占用低,它和 Windows 共享内存和 CPU,动态分配,不用的时候几乎不占资源。第三,也是我最喜欢的一点:无缝的文件系统互通。你可以在 Windows 的资源管理器里直接访问 Linux 的文件(路径是 \\wsl$\Ubuntu-22.04),也可以在 Linux 终端里直接操作 Windows 盘符下的文件(挂载在 /mnt/c/ 等目录下)。这意味着你可以用 Windows 上顺手的编辑器(比如 VSCode)直接编辑 WSL 里的代码,然后用 Linux 环境运行,两边的改动实时同步,完全没有隔阂感。
对于强化学习开发来说,这种“沙盒”特性尤其宝贵。强化学习项目往往依赖复杂的库栈,比如 PyTorch/TensorFlow、Gymnasium、Stable-Baselines3 等等。这些库的版本依赖关系错综复杂,一个项目一个环境是常态。在 WSL2 里,你可以用 venv 或 conda 为每个项目创建独立的虚拟环境,环境之间互不干扰,彻底告别“装了这个库,另一个项目崩了”的窘境。而且,WSL2 提供了近乎原生的 Linux 内核,这意味着绝大多数为 Linux 编写的开源强化学习框架和工具都能直接运行,兼容性远超在 Windows 上直接折腾。
所以,把 WSL2 + Ubuntu 22.04 看作你的个人强化学习实验沙盒再合适不过了。它隔离、纯净、高效,让你能专注于算法和模型本身,而不是把大量时间浪费在环境配置和系统冲突上。接下来,我们就一步步把这个沙盒搭建起来,并把它打造成一个生产力爆棚的开发环境。
2. 从零开始:安装与配置 WSL2 及 Ubuntu 22.04
万事开头难,但安装 WSL2 和 Ubuntu 22.04 真的不难。我按照这个流程走过很多遍,也帮不少朋友配置过,只要跟着步骤来,十分钟内就能搞定基础环境。这里我会把一些容易踩坑的细节也讲清楚。
2.1 启用 WSL 功能并安装 Ubuntu
首先,我们需要在 Windows 上启用 WSL 功能。最方便的方法是使用管理员权限打开 PowerShell 或 Windows 终端,然后输入一条命令搞定。但在此之前,我建议你先检查一下系统是否满足要求:Windows 10 版本 2004 及更高版本(内部版本 19041 及以上)或 Windows 11。你可以按 Win + R,输入 winver 来查看你的 Windows 版本。
打开 PowerShell 后,输入以下命令:
wsl --install
这个命令是微软提供的一键安装脚本,它会自动完成几件事:启用“适用于 Linux 的 Windows 子系统”和“虚拟机平台”这两个 Windows 功能,安装默认的 Linux 发行版(通常是 Ubuntu),并将 WSL 的版本设置为 WSL2。命令执行后需要重启电脑。
重启后,你会发现桌面上多了一个 Ubuntu 的图标,点击它就会启动 Ubuntu 的安装过程。第一次启动会进行最后的初始化,你需要等待一会儿,然后系统会提示你创建新的 UNIX 用户名和密码。这个用户名和密码是 Ubuntu 系统内的,用于 sudo 提权操作,和你的 Windows 登录账户无关,但请务必记住。
安装完成后,一个崭新的 Ubuntu 终端窗口就出现在你面前了。为了确认一切正常,我们可以在 Ubuntu 终端里输入:
wsl --list --verbose
或者它的简写形式:
wsl -l -v
这个命令是在 WSL 内部查看 WSL 本身的信息。你应该能看到你的发行版名称(如


527

被折叠的 条评论
为什么被折叠?



