「零基础转行工业 3D 视觉」系列第一篇。
本文记录我用 WorkBuddy 把第 1 周环境搭起来的完整过程:3 个步骤,手动敲的命令不超过 3 条。
全程用到的 3 个脚本放在文末附件里,可以直接下载复用。
开始之前:一条最重要的提醒
不要装 VMware,也不要装 VirtualBox。
它们会和 WSL2 抢 CPU 的虚拟化层(Hyper-V),轻则 WSL2 启动报
0x80370102,重则蓝屏 / kernel panic —— 这也是我学习计划里明确写着「不用 VirtualBox」的原因。已经装了的,建议先卸载再往下走。
本文最终装出来的版本(版本对不上会多踩很多坑,先列清楚):
| 组件 | 版本 | 来源 |
|---|---|---|
| 宿主系统 | Windows 11 23H2(Build 22631) | — |
| WSL | WSL2 | wsl --update |
| 发行版 | Ubuntu 22.04.5 LTS (Jammy) | 微软商店 |
| PCL | 1.12.1 | Ubuntu 22.04 官方源 |
| OpenCV | 4.5.4 | 同上 |
| Eigen | 3.4.0 | 同上 |
| Ceres | 2.0.0 | 同上 |
| Open3D | pip 最新版 | 独立虚拟环境 |
划重点:Ubuntu 22.04 的 apt 源里 PCL 正好是1.12,直接
apt install libpcl-dev就行,完全不用源码编译。
第 1 步:让 WorkBuddy 先检查 Windows 系统
我没急着动手,而是先把需求和学习计划发给 WorkBuddy,让它先看看我这台机器能不能装、该怎么装。
我发给它的话:
根据我的转行学习计划,我需要在本周完成第 1 周:环境搭建
WSL2 安装 Ubuntu 22.04(不用 VirtualBox,避免 kernel panic)
安装 PCL 1.12、OpenCV 4.x、Eigen、Ceres、Open3D
其中,指导我进行 Ubuntu 的安装,尽量安装在 D 盘我的文件夹的 softwares 中
| 它查到的 | 由此定的决策 |
|---|---|
系统实际是Windows 11 23H2(Build 22631),但注册表ProductName显示 “Windows 10 Pro” | 以 Build 号为准。Win11 自带 WSLg,图形界面直接可用,不用额外装 X Server |
| C 盘 200 GB只剩 75 GB;D 盘 753 GB 剩 222 GB | Ubuntu必须装 D 盘(ext4.vhdx只增不减,会一路把 C 盘吃干) |
wsl.exe存在,但没装任何发行版 | 全新安装,脚本可以直接跑 |
第 2 步:一键安装 WSL2 + Ubuntu 22.04
以管理员身份打开 PowerShell(开始菜单搜 PowerShell → 右键 → 以管理员身份运行),执行一条命令:
powershell-ExecutionPolicy Bypass-File"D:\Mengyuan\Softwares\scripts\01-install-wsl2-ubuntu2204.ps1"脚本会依次做 5 件事,可重复运行,已完成的自动跳过:
| 步骤 | 它自动做的 |
|---|---|
| 【1/5】 | 开启「适用于 Linux 的 Windows 子系统」+「虚拟机平台」两个 Windows 功能,并提示重启 |
| 【2/5】 | 重启后:wsl --update升级内核,默认版本设为 WSL2 |
| 【3/5】 | 安装 Ubuntu 22.04,落到D:\Mengyuan\Softwares\WSL\Ubuntu-22.04 |
| 【4/5】 | 写C:\Users\你\.wslconfig,限制内存/CPU,防止后续编译时把 Windows 卡死 |
| 【5/5】 | 验证:打印发行版列表,确认ext4.vhdx真的在 D 盘 |
全程只有一处需要你动手:中途会弹出 Ubuntu 终端,让你创建账号、输入密码。
Enter new UNIX username: mengyuan # 全小写英文,别用中文、别用大写 New password: ******** # 输入时屏幕不显示字符,这是正常的 Retype new password: ********小插曲:我输
administrator,结果首字母被提示符吃掉,变成了dministrator。
问了 WorkBuddy,说这是终端交互的常见现象、功能完全不受影响,继续用就行 —— 省了我一次重装。
重点看三行:
* Ubuntu-22.04 Stopped 2 <- VERSION 必须是 2 [√] 虚拟磁盘已落在 D 盘:D:\Mengyuan\Softwares\WSL\Ubuntu-22.04\ext4.vhdx(当前 1.35 GB,会随使用增长) 全部完成!脚本里的一个关键设计:它预设了两条安装路径。
优先用wsl --install --location一步装到 D 盘;如果当前 WSL 版本不支持--location,自动降级为「装到 C 盘 → 导出 → 注销 → 导入到 D 盘」。
我这台机器的 WSL 版本不支持--location,于是它自己走了降级路径,我全程无感。
第 3 步:一键安装 PCL / OpenCV / Eigen / Ceres / Open3D
进入 Ubuntu(任意终端输入wsl回车),运行一条命令:
bash/mnt/d/Mengyuan/Softwares/scripts/02-setup-dev-env.sh脚本依次做 5 件事(同样可重复运行):
| 步骤 | 它自动做的 |
|---|---|
| 【1/5】 | 切换 apt 源到清华 TUNA 镜像(自动备份原文件),国内下载提速 10 倍以上 |
| 【2/5】 | 安装编译链 +PCL 1.12 / OpenCV 4.5 / Eigen 3.4 / Ceres 2.0 |
| 【3/5】 | Open3D 装进独立虚拟环境~/venvs/py3d(不污染系统 Python) |
| 【4/5】 | 校验 WSLg 图形环境 |
| 【5/5】 | 打印版本核对表,逐项对照学习计划 |
下载量约 12 GB,5~~15 分钟。装完的关键输出:
能看到这两行就说明 PCL 装上了:
Setting up libpcl-dev (1.12.1+dfsg-3build1) ... Setting up libvtk9-dev (9.1.0+really9.1.0+dfsg2-3build1) ...Setting up是 apt 安装的最后一个阶段(解包之后的配置),它出现在所有依赖处理完之后 —— 看到它基本就是成功了。
最后脚本还会打印一张版本核对表:
----------------------------------------------------------- PCL 1.12.1-1 (计划要求 1.12) OpenCV 4.5.4+dfsg (计划要求 4.x) Eigen 3.4.0-4 Ceres 2.0.0+dfsg1-5build1 CMake 3.22.1 GCC 11.4.0 Open3D 0.18.0 -----------------------------------------------------------为什么不用源码编译 PCL:Ubuntu 22.04 官方源里正好是 1.12,直接 apt 装即可。
源码编译要多花 1~2 小时,还容易挂在 VTK / Qt 依赖上 —— 新手第一周纯属自找麻烦。
附件:3 个脚本,在资源里,对应直接拿去用哈
| 附件文件 | 用途 | 怎么用 |
|---|---|---|
01-install-wsl2-ubuntu2204.ps1 | Windows 侧:一键装 WSL2 + 把 Ubuntu 22.04 装到 D 盘 | 管理员 PowerShell 运行 |
02-setup-dev-env.sh | Ubuntu 侧:一键装 PCL / OpenCV / Eigen / Ceres / Open3D | 在 Ubuntu 里执行 |
run-stage-b-env.cmd | 双击启动器:免敲命令,直接跑上面那个.sh | 双击即可 |
只有 2 个地方需要改成你自己的:
| 位置 | 改成 |
|---|---|
01-install-wsl2-ubuntu2204.ps1里的$InstallRoot | 你想装的目录 |
run-stage-b-env.cmd里的脚本路径 | 你的脚本实际位置 |
跨平台存放行尾要注意(不然会报$'\r': command not found):
| 文件类型 | 行尾 / 编码 |
|---|---|
.ps1 | UTF-8 with BOM |
.sh | LF |
.cmd | CRLF |
结尾
WSL2 + Ubuntu 22.04 装在 D 盘,PCL 全套依赖就位啦
下一篇:PCL 核心算法手写(VoxelGrid / SOR / RANSAC / ICP)。
本文首发于 CSDN,是「零基础转行工业 3D 视觉」系列第一篇,转载请注明出处。