欢迎光临
我们一直在努力

WSL安装轻量化Ubuntu发行版部署ROS2

1. 安装WSL

启用 WSL 功能(Windows 端)
首先需要在 Windows 中开启 WSL 相关组件,这是运行 Linux 子系统的基础:

1.1. 打开“启用或关闭 Windows 功能”

(如下图所示,三个选项都建议勾选)
按下 Win + R 键,输入 optionalfeatures.exe 并回车。
在弹出的窗口中,勾选以下选项:
        ✅ Hyper-V
        ✅ 适用于 Linux 的 Windows 子系统
        ✅ 虚拟机平台(WSL 2 依赖此组件,Windows 10 需手动勾选,Windows 11 可能默认包含)
点击“确定”,等待组件安装完成后,重启电脑。

1.2. 设置 WSL 2 为默认版本

以管理员身份打开 PowerShell,如下图所示找到 PowerShell 后右键,以管理员身份打开

1)升级 WSL 到最新版本

wsl –update

2)在 powershell 中设置 WSL 默认版本,这里使用 WSL 2,其基于 Hyper-V 虚拟机技术,性能优于 WSL 1,且支持 ROS 图形化工具

wsl –set-default-version 2

1.3 安装 Ubuntu 发行版

第一种方式可以从 Microsoft Store 安装 Ubuntu,但是由于国内网络限制,经常遇到打不开 Microsoft Store,因此推荐使用下面第二种方法。

第二种方式如下:
1)查看 WSL 支持的 Linux 发行版。打开 PowerShell(管理员模式),执行以下命令列出可安装的发行版:
wsl –list –online
执行后会显示类似如下的支持列表(包含发行版名称和别名):

如果安装ROS,推荐选择 Ubuntu 20.04 LTS,自己试了 22.04 和 24.04 两个版本,安装有点麻烦;
如果安装ROS2,随意选择。

2) 通过命令安装指定版本的 Ubuntu。在 PowerShell(管理员模式)中执行安装命令:
若安装 Ubuntu 24.04,则输入
        wsl –install -d Ubuntu-24.04

命令说明:-d 参数指定发行版(需与 wsl -l -o 列出的名称完全一致)。
安装过程:系统会自动下载并部署对应版本的 Ubuntu(约 500MB,需联网),无需手动操作。
若之前已安装过其他 WSL 发行版,执行该命令会新增安装指定版本,不会覆盖原有环境。
3)初始化 Ubuntu 并设置账户
安装完成后,系统会自动启动 Ubuntu 初始化流程,或手动在开始菜单中找到并打开 “Ubuntu 20.04 LTS”/“Ubuntu 22.04 LTS”/“Ubuntu 24.04 LTS” 应用:
首次启动会进行系统配置(约 1-2 分钟,耐心等待)。
按提示设置 Linux 用户名 和 密码(输入时无字符显示,输完按回车确认,后续使用 sudo 需输入此密码)。
设置完成后,即可进入 Ubuntu 命令行界面,说明安装成功。

4)一些基础、常用的的 WSL 命令

建议在 PowerShell 输入:

输入wsl -d Ubuntu-24.04,即登录 Ubuntu 的命令行,记得后面的 24.04 要改成你自己安装的系统版本
如果仅安装了一个 WSL 系统,则可以只输入 wsl进入系统
在 WSL 的 Ubuntu 中,输入exit即可退出,返回 Windows 的 PowerShell
wsl –shutdown关闭后台运行的 Ubuntu 系统
 

2. 安装 ROS

2.1 下载一键安装ROS2脚本

wget http://fishros.com/install -O fishros && bash fishros

按照以下步骤选择,注意选择对应的版本

2.2 让ros生效

source ~/.bashrc

3. WSL中单独安装Python(可选)

note: 建议在WSL中单独安装Python,尽管Windows系统已经安装了Python

为什么需要在WSL中单独安装Python?

  • 环境隔离性:
    • WSL是独立的Linux子系统,拥有自己的文件系统、包管理和环境变量
    • Windows和Linux的路径、库依赖和系统调用存在差异
  • 开发一致性:
    • 如果您在WSL中进行Linux环境开发,使用WSL原生Python能确保环境与生产环境一致
    • 避免因Windows/Linux差异导致的"在我机器上可以运行"问题
  • 依赖兼容性:
    • 某些Python包在Windows和Linux下需要不同的编译依赖
    • 例如涉及系统调用的库(如fcntl, pwd)在Windows下无法使用
  • 路径和权限问题:
    • 通过WSL访问Windows安装的Python可能导致路径转换和权限问题
    • Windows路径(/mnt/c/…)在Linux环境下可能无法正确解析
    • 在WSL中安装Python的详细步骤

      以下是在WSL(以Ubuntu为例)中安装Python的完整步骤:

      1. 更新系统包列表

      sudo apt update

      2. 安装Python基础包

      Ubuntu/Debian系默认已预装Python,但可能需要安装完整版:

      # 安装最新Python 3(通常为3.10或更高版本)
      sudo apt install python3

      # 安装pip(Python包管理器)
      sudo apt install python3-pip

      # 安装venv(虚拟环境工具)
      sudo apt install python3-venv

            3. 验证安装         

    # 检查Python版本
    python3 –version

    # 检查pip版本
    pip3 –version

            4. 配置别名(可选但推荐)

            编辑$HOME/.bashrc或$HOME/.zshrc文件,添加以下别名:

    echo "alias python=python3" >> $HOME/.bashrc
    echo "alias pip=pip3" >> $HOME/.bashrc
    source $HOME/.bashrc

            这样可以直接使用python和pip命令,而不需要输入python3和pip3

            5. 创建和使用虚拟环境

    # 创建虚拟环境
    python -m venv myproject_env

    # 激活虚拟环境
    source myproject_env/bin/activate

    # 退出虚拟环境
    deactivate

            6. 安装开发依赖(可选)

            如果需要编译C扩展的Python包:

    sudo apt install build-essential python3-dev libssl-dev libffi-dev

            7. 退出虚拟环境(可选)

    deactivate

            8.检查虚拟环境目录结构

    ls -la myproject_env/

            9.测试安装新包(可选验证)

    # 安装一个测试包
    pip install requests

    # 验证安装
    pip list | grep requests
    # 应显示: requests 2.31.0

    # 检查包安装位置
    pip show requests | grep Location
    # 应指向虚拟环境目录: /path/to/myproject_env/lib/python3.x/site-packages

    4、使用vscode编程

    a. vscode安装
    b.打开安装好的 vscode,在 vscode 的拓展中输入wsl搜索安装 WSL 插件

    c.安装完插件后,进入 WSL 中的系统,然后在你想要打开的文件夹对应的路径下,输入 code .,如此就可以在 Windows 下的 vscode 中编译代码了。

     d.在文件目录空白处,右键航空方面Open in integrated Teminal,会打开终端命令窗口,此处就跟在ros2系统下一样操作。

    e.再在终端处输入cd projects,进入projects文件夹,再输入python main.py运行刚才的文件

    ————————————————
    版权声明:本文为CSDN博主「不懂音乐的欣赏者」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/qq_16775293/article/details/154520974

    赞(0)
    未经允许不得转载:171主机测评 » WSL安装轻量化Ubuntu发行版部署ROS2
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址