Ubuntu通过WSL2与VSCode配置PySide6开发桌面应用

Felix
Felix
发布时间:2026-10-10 | 3人浏览过
原创

本文梳理了在Windows端利用WSL2运行Ubuntu,并基于此环境搭建PySide6桌面应用开发流程的方法。内容包含虚拟环境隔离、图形界面依赖修复、VSCode远程连接配置以及解释器绑定操作,可直接用于实际工程调试。

环境准备与虚拟环境搭建

在实际开发中,为保持系统纯净并避免依赖冲突,建议先在WSL的Ubuntu发行版中安装基础工具链,并通过Python虚拟环境管理第三方库。

第1步:安装基础依赖并创建虚拟环境

目的:获取pip工具并解决PEP 668安全限制。
入口:WSL终端
动作:执行以下命令更新源并安装pip:

sudo apt update
sudo apt install python3-pip

直接使用 pip3 install PySide6 会触发 externally-managed-environment 报错。此时需创建虚拟环境:
参数设置:python3 -m venv ~/pyside6_venv

若提示 ensurepip is not available,说明当前Ubuntu缺少对应的venv模块。可依次执行:

# 查看当前系统Python版本替换对应数字(如 12)
sudo apt install python3.12-venv -y

随后重新创建并激活环境:
source ~/pyside6_venv/bin/activate

第2步:安装PySide6核心库

目的:在虚拟环境中下载Qt6绑定库。
动作:激活环境后执行安装:

pip install PySide6

成功安装后终端将返回 Successfully installed PySide6-xxx ... 字样,表示框架已就绪。

配置WSL图形界面支持

WSLg 允许Linux GUI程序直接显示在Windows桌面上,但需要补充X11与Qt运行时依赖以保障稳定渲染。

第3步:检查WSL版本与安装GUI依赖

目的:确认运行环境为WSL 2,并补齐底层图形库。
入口:WSL终端或CMD/Powershell
动作:核对版本:

wsl --version
wsl -l -v

若列表显示 Version 为 1,需转换至WSL 2:
wsl --set-version <你的发行版名称> 2
参数设置:安装通用图形依赖(规避新版Ubuntu中 libgl1-mesa-glx 失效的问题):

sudo apt update && sudo apt install -y \
    python3-pip \
    python3-venv \
    libx11-6 \
    libxcb1 \
    libxkbcommon-x11-0 \
    libgl1 \
    libgl1-mesa-dri \
    libqt6gui6 \
    libqt6core6 \
    libqt6widgets6

第4步:验证图形显示功能

目的:确认GUI通道畅通。
动作:安装轻量测试工具并启动:

sudo apt install -y x11-apps
xeyes

若Windows桌面弹出跟随鼠标的眼睛窗口,则说明跨平台图形传输链路正常。

使用VSCode连接WSL进行开发

Windows端的Visual Studio Code可通过官方插件直连WSL文件系统,提供完整的编码与调试体验。

第5步:安装插件并连接Ubuntu环境

目的:打通Windows IDE与Linux工作区。
入口:Windows端VSCode → 扩展面板(Ctrl+Shift+X)
动作:搜索并安装微软官方插件 Chinese (Simplified) 与 Remote - WSL。安装完成后重启客户端。

VSCode左下角显示WSL标识并进入新窗口
连接成功后标题栏显示WSL: Ubuntu,代表已挂载Linux根目录权限

使用快捷键 Ctrl+K Ctrl+O 打开文件夹,导航至WSL内的项目路径(如 /home/<用户名>/pyside6_demo)。若目录为空,可在左侧资源管理器右键新建文件夹,并在其中创建 main.py。

在VSCode内选择WSL文件夹路径
对话框默认停留在Windows用户目录,输入斜杠或直接定位Home目录
创建项目目录与py文件
新建文件后可直接编写PySide6测试脚本

第6步:配置解释器并运行测试代码

目的:让IDE识别虚拟环境中的解释器。
动作:在 main.py 中粘贴基础窗口代码:

import sys
from PySide6.QtWidgets import QApplication, QMainWindow, QLabel, QPushButton, QVBoxLayout, QWidget

class MainWindow(QMainWindow):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("WSL PySide6 测试")
        self.setFixedSize(400, 200)
        
        central = QWidget()
        self.setCentralWidget(central)
        layout = QVBoxLayout(central)
        
        self.label = QLabel("Hello WSL + PySide6!")
        layout.addWidget(self.label)
        
        btn = QPushButton("点击我")
        btn.clicked.connect(lambda: self.label.setText("Windows 显示 WSL 窗口!"))
        layout.addWidget(btn)

if __name__ == "__main__":
    app = QApplication(sys.argv)
    win = MainWindow()
    win.show()
    sys.exit(app.exec())

首次运行可能提示未安装Python扩展。打开扩展面板搜索 Python,点击 在 WSL:Ubuntu 中安装,按提示重载窗口。

安装Python扩展提示
扩展安装完成需手动刷新编辑器状态
Python扩展加载进度
等待依赖下载完毕后即可启用断点与补全
扩展图标高亮显示
状态切换表明环境匹配成功
默认解释器显示位置
右下角状态栏可快速查看当前绑定路径

因默认指向系统全局Python,需显式切换至刚才创建的虚拟环境。按下 Ctrl+Shift+P 调出命令面板,输入 Python: Select Interpreter 并执行。

打开命令面板输入选择解释器
面板顶部提供全局指令输入框

在列表中选择路径包含 pyside6_venv/bin/python 的条目即可完成绑定。

选中虚拟环境解释器
选中后标签栏自动切换至对应环境标识

保存文件后点击顶部的运行按钮或按 F5,Windows桌面将直接弹出PySide6窗口,交互逻辑完全生效。

最终在Windows桌面运行的PySide6窗口
跨端GUI应用已成功调用,后续可按需接入业务逻辑

总结

通过上述步骤,可以在非原生Ubuntu桌面上安全隔离地运行PySide6,并利用VSCode的Remote功能获得无缝的开发体验。实际项目中只需遵循相同的依赖管理与解释器配置流程即可展开深度编码。以上就是通过WSL2与VSCode配置PySide6开发桌面应用的详细内容,更多关于Ubuntu底层环境与Python跨平台调试的资料请关注本站其它相关文章!

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表