展开菜单
首页 精品内容 本月促销 装机必备 Windows PDF教程 macOS软件 IOS软件 Android AI 专题
全部分类

当前位置:

首页 > 编程开发 > Ubuntu安装PySide6开发桌面应用实践

Ubuntu安装PySide6开发桌面应用实践

一、引言 最近在对接大模型测试任务时,需要开发一个Python桌面应用。于是,就有了这篇在WSL2的Ubuntu环境下配置PySide6开发环境的实战记录。 二、Ubuntu非桌面端安装PySide6 理想情况下,在Ubuntu桌面系统里直接安装PySide6,再配上VSCode就能开干。但手头只有

本文目录

    一、引言

    最近在对接大模型测试任务时,需要开发一个Python桌面应用。于是,就有了这篇在WSL2的Ubuntu环境下配置PySide6开发环境的实战记录。

    二、Ubuntu非桌面端安装PySide6

    理想情况下,在Ubuntu桌面系统里直接安装PySide6,再配上VSCode就能开干。但手头只有一台Windows机器,所以这次选择通过WSL2来模拟运行Ubuntu环境。

    2.1、wsl2 Ubuntu安装基础工具

    第一步,自然是安装包管理工具pip:

    sudo apt update
    sudo apt install python3-pip
    

    接着,尝试用pip安装PySide6:

    pip3   install PySide6
    error: externally-managed-environment
    
    × This environment is externally managed
    ╰─> To install Python packages system-wide, try apt install
        python3-xyz, where xyz is the package you are trying to
        install.
    
        If you wish to install a non-Debian-packaged Python package,
        create a virtual environment using python3 -m venv path/to/venv.
        Then use path/to/venv/bin/python and path/to/venv/bin/pip. Make
        sure you ha ve python3-full installed.
    
        If you wish to install a non-Debian packaged Python application,
        it may be easiest to use pipx install xyz, which will manage a
        virtual environment for you. Make sure you ha ve pipx installed.
    
        See /usr/share/doc/python3.12/README.venv for more information.
    
    note: If you believe this is a mistake, please contact your Python installation or OS distribution provider. You can override this, at the risk of breaking your Python installation or OS, by passing --break-system-packages.
    hint: See PEP 668 for the detailed specification.
    

    这里遇到了第一个坎儿。错误信息很明确:Ubuntu系统出于安全考虑,遵循Python PEP 668规范,禁止直接用pip安装全局包,目的是保护系统Python环境的纯净。

    解决办法也给出了提示:创建一个虚拟环境,然后在虚拟环境里安装。这其实是Python开发的最佳实践。

    # 1. 创建虚拟环境(指定存放路径,比如 ~/pyside6_venv)
    python3 -m venv ~/pyside6_venv
    # 2. 激活虚拟环境(每次使用前都需要执行)
    source ~/pyside6_venv/bin/activate
    

    但创建虚拟环境时,又报错了:

    python3 -m venv ~/pyside6_venvThe virtual environment was not created successfully because ensurepip is nota vailable. On Debian/Ubuntu systems, you need to install the python3-venvpackage using the following command.

    apt install python3.12-venv

    You may need to use sudo with that command. After installing the python3-venvpackage, recreate your virtual environment.

    Failing command: /home/iqos/pyside6_venv/bin/python3​

    原因也很直接:系统缺少创建Python虚拟环境所必需的python3.12-venv包。先把它装上:

    sudo apt install python3.12-venv  -y
    

    之后,再执行创建和激活虚拟环境的命令,就顺利通过了。

    万事俱备,现在可以在激活的虚拟环境中安装PySide6了:

    pip install PySide6
    Collecting PySide6
      Downloading pyside6-6.10.2-cp39-abi3-manylinux_2_34_x86_64.whl.metadata (5.3 kB)
    Collecting shiboken6==6.10.2 (from PySide6)
      Downloading shiboken6-6.10.2-cp39-abi3-manylinux_2_34_x86_64.whl.metadata (2.5 kB)
    Collecting PySide6_Essentials==6.10.2 (from PySide6)
      Downloading pyside6_essentials-6.10.2-cp39-abi3-manylinux_2_34_x86_64.whl.metadata (3.7 kB)
    Collecting PySide6_Addons==6.10.2 (from PySide6)
      Downloading pyside6_addons-6.10.2-cp39-abi3-manylinux_2_34_x86_64.whl.metadata (4.0 kB)
    Downloading pyside6-6.10.2-cp39-abi3-manylinux_2_34_x86_64.whl (563 kB)
       ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 563.4/563.4 kB 979.5 kB/s eta 0:00:00
    Downloading pyside6_addons-6.10.2-cp39-abi3-manylinux_2_34_x86_64.whl (170.7 MB)
       ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 170.7/170.7 MB 172.0 kB/s eta 0:00:00
    Downloading pyside6_essentials-6.10.2-cp39-abi3-manylinux_2_34_x86_64.whl (77.0 MB)
       ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 77.0/77.0 MB 136.9 kB/s eta 0:00:00
    Downloading shiboken6-6.10.2-cp39-abi3-manylinux_2_34_x86_64.whl (273 kB)
       ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 273.1/273.1 kB 26.2 kB/s eta 0:00:00
    Installing collected packages: shiboken6, PySide6_Essentials, PySide6_Addons, PySide6
    Successfully installed PySide6-6.10.2 PySide6_Addons-6.10.2 PySide6_Essentials-6.10.2 shiboken6-6.10.2
    

    看到“Successfully installed”的提示,PySide6的安装就大功告成了。接下来,需要在Windows上安装VSCode,并配置它与WSL协同工作。

    2.2、windows下安装VSCode

    2.2.1、第一步:配置 WSL 支持 GUI 显示

    # 在 WSL 终端执行
    wsl --version  # 查看版本,确保有 WSLg 相关信息
    wsl -l -v      # 检查 Ubuntu 发行版的版本是 2
    

    如果检查发现Ubuntu发行版版本是1,需要执行wsl --set-version Ubuntu 2将其升级到WSL 2(这个过程可能需要几分钟)。

    2.2.2、第二步: 安装 WSL 所需的 GUI 依赖(Ubuntu 端)

    即便有了WSLg,要运行基于Qt的PySide6程序,仍然需要在Ubuntu侧安装一些基础的X11图形依赖库。

    sudo apt update
    sudo apt install -y libx11-6 libxcb1 libxkbcommon-x11-0 libgl1-mesa-glx
    

    执行上述命令时,可能会遇到报错:

    E: Package 'libgl1-mesa-glx' has no installation candidate
    

    这是因为在Ubuntu 22.04 LTS及更高版本中,libgl1-mesa-glx这个包已经被libgl1-mesa-dri和libgl1替代了。所以,我们需要换一套更通用、兼容各版本Ubuntu的依赖安装命令:

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

    2.2.3、第三步: 验证 GUI 功能(可选)

    为了确认GUI环境配置成功,可以安装一个小工具测试一下:

    sudo apt install -y x11-apps
    xeyes  # 运行后会在 Windows 桌面弹出一个眼睛跟随鼠标的窗口,说明 GUI 配置成功
    

    如果能看到那双“眼睛”窗口,就证明从WSL到Windows的图形显示通道已经打通了。

    2.2.4、安装Windows 端 VSCode 连接 WSL 开发

    1.安装 Windows 版 VSCode

    • 从VSCode官网下载Windows版本并安装。注意,这里装的是Windows版,不是Ubuntu里的版本。

    2.安装 中文语言包

    • 打开Windows端的VSCode,使用快捷键Ctrl+Shift+X打开扩展面板,搜索并安装“Chinese (Simplified) Language Pack for Visual Studio Code”(微软官方插件)。安装完成后重启VSCode,界面就会变成中文。

    3.安装 WSL 插件

    • 同样在扩展面板中,搜索并安装“Remote - WSL”(微软官方插件)。这个插件是连接WSL开发环境的关键。

    4.连接 WSL 环境

    • 安装完WSL插件后,点击VSCode左下角的「><」图标,选择「New WSL Window using Distro…」,然后选择你的Ubuntu发行版。
    • 此时,会弹出一个新的VSCode窗口,标题栏显示「WSL: Ubuntu」,这表示已经成功连接到WSL环境了。

    Ubuntu安装PySide6开发桌面应用实践

    接下来,点击左侧的“打开文件夹…”,或者按快捷键Ctrl+K Ctrl+O,在弹出的对话框中选择WSL里的项目目录(例如~/pyside6_demo)。

    Ubuntu安装PySide6开发桌面应用实践

    如果目录列表里没有,可以直接在路径输入框里输入~并回车,这会列出钱buntu下的主目录文件夹。然后在左侧边栏点击新建文件夹图标,创建一个项目目录。

    Ubuntu安装PySide6开发桌面应用实践

    进入项目目录后,新建一个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())
    

    Ubuntu安装PySide6开发桌面应用实践

    点击运行后,VSCode可能会提示缺少Python扩展。这时,点击弹窗中的“查找 Python 扩展 (F)”,或者手动按Ctrl+Shift+X打开扩展面板。

    • 在扩展面板搜索“Python”,找到微软官方的Python扩展。
    • 此时扩展按钮会显示为“在 WSL:Ubuntu 中安装”,点击它进行安装。
    • 安装完成后,VSCode会提示重新加载窗口,点击确认即可。

    Ubuntu安装PySide6开发桌面应用实践

    Ubuntu安装PySide6开发桌面应用实践

    Ubuntu安装PySide6开发桌面应用实践

    不过,VSCode默认使用的Python解释器可能是系统自带的。而我们之前已经把PySide6安装在了虚拟环境里。所以,需要手动切换解释器。使用快捷键Ctrl+Shift+P调出命令面板:

    Ubuntu安装PySide6开发桌面应用实践

    在命令面板中输入“Python: Select Interpreter”,然后选择我们之前创建好的虚拟环境中的解释器(路径通常类似~/pyside6_venv/bin/python)。

    Ubuntu安装PySide6开发桌面应用实践

    切换成功后,示例代码的依赖问题就解决了。再次点击运行,一个由WSL中的Python驱动、在Windows桌面显示的PySide6窗口就成功弹出了:

    Ubuntu安装PySide6开发桌面应用实践

    至此,整个开发环境的基础搭建流程就全部完成了,后续可以开始正式的桌面应用开发了。

    三、Ubuntu桌面系统开发

    至于在原生Ubuntu桌面系统上进行开发,流程会简单直接得多,这里就不展开细说了。时间关系,后续有机会再单独分享。

    总结

    以上便是在WSL2的Ubuntu环境中,从零开始搭建PySide6桌面应用开发环境的完整过程。希望这份踩坑记录能为大家提供一个清晰的参考。也欢迎大家持续关注本站,获取更多技术实践内容。


    您可能感兴趣的文章:
    • 一句话理解pyside6的信号和槽机制
    • PySide6中QSS(Qt Style Sheet,类似CSS)支持的属性
    • Python+PySide6构建一个响应式视频剪辑工具
    • Python使用PySide6编写一个CSV文件浏览器
    • 浅谈pyside6 事件处理
    • pyside6中installEventFilter的使用
    本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系bd@zhengruan.com
    作者最新文章
    编程开发 Ubuntu
    相关文章 更多
    精品专题 更多
    装机必备

    正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

    Windows

    正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

    PDF教程

    正软商城PDF教程频道提供PDF编辑、转换、合并、拆分、压缩及格式处理方法,同时介绍常用PDF软件和工具的使用技巧。

    macOS软件

    正软商城macOS软件专区,精选适用于Mac电脑的办公、设计、影音、效率、开发和系统工具,提供软件功能介绍、macOS兼容版本、正版授权及购买下载服务。

    IOS软件

    正软商城iOS软件专区,精选适用于iPhone和iPad的办公、学习、影音、设计、效率及AI应用,提供功能介绍、适用设备、系统要求和正版获取方式等信息。

    AI

    正软商城AI软件专区,汇集AI写作、AI绘画、AI视频、AI办公、AI编程、AI翻译、智能客服和数据分析等人工智能工具,提供功能介绍、适用平台、收费方式及正版购买信息。

    Mac软件 更多
    讯飞智作 网页版
    讯飞智作 网页版

    讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

    火山引擎 网页版
    火山引擎 网页版

    火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

    Aperty macOS版
    Aperty macOS版

    Aperty 是 Skylum 推出的 AI 人像修图软件,支持自然肤质修饰、瑕疵处理、面部与身体调整、预设及批量同步。

    立刻MV 网页版
    立刻MV 网页版

    立刻MV 面向音乐人、内容创作者和品牌团队,帮助用户低成本完成歌曲 MV、歌词视频、AI 分镜、图生视频与最终合成。

    蛙蛙写作 网页版
    蛙蛙写作 网页版

    蛙蛙写作 AI 创作工具,覆盖小说、剧本、文案,一键生成文稿,打通文字转视频全流程,高效解决创作难题。

    超级简历WonderCV 网页版
    超级简历WonderCV 网页版

    超级简历WonderCV是面向应届生和AI小白的智能求职平台,覆盖简历、面试与职业规划。

    音述AI 网页版
    音述AI 网页版

    音述AI,是一个以“用声音述说故事”为核心的 AI 音乐创作与声音分享社区。

    AionClaw macOS版
    AionClaw macOS版

    AionClaw 是可在桌面端运行的任务型 AI 助手,通过数字专家与技能市场组合办公、创作、数据和开发能力。

    Loomy macOS版
    Loomy macOS版

    Loomy 是科大讯飞推出的桌面 AI 助手,可通过对话、任务与工作目录协助处理办公、内容创作和资料整理。

    AirBuddy 3 macOS版
    AirBuddy 3 macOS版

    AirBuddy 3 是面向 macOS 的蓝牙外设增强工具,可集中查看 AirPods、Beats 与苹果设备电量,提供快速连接、播放控制、电量提醒、桌面小组件和多台 Mac 外设接力等功能。

    AirServer macOS版
    AirServer macOS版

    AirServer macOS版可把 Mac 转换为无线投屏接收端,通过 AirPlay 或 Google Cast 接收手机、平板和电脑画面,并支持多设备同时连接、高清镜像及会话录制,适合家庭娱乐、课堂教学、会议演示和应用展示。

    AnyDesk macOS版
    AnyDesk macOS版

    AnyDesk macOS版是一款适用于远程办公、设备维护和客户支持的远程桌面工具,可连接并操作异地计算机,支持文件传输、无人值守访问、会话权限控制及跨平台协作。

    WINDOWS 更多
    讯飞智作 网页版
    讯飞智作 网页版

    讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

    火山引擎 网页版
    火山引擎 网页版

    火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

    PixTV 网页版
    PixTV 网页版

    PixTV 是一款在浏览器中使用的 AI 视觉内容创作平台,提供图片、视频、音频、文字生成、AI 分镜、局部重绘、提示词反推和无限画布等工具,适合短剧、漫剧、广告及社交媒体内容制作。

    讯飞绘文 网页版
    讯飞绘文 网页版

    讯飞绘文网页版是科大讯飞推出的AI图文创作与内容运营工具,覆盖热点选题、文章生成、稿件校对、智能配图、排版发布和数据复盘等环节,适合自媒体创作者及内容团队在线使用。

    Maya(Autodesk Maya) Windows版
    Maya(Autodesk Maya) Windows版

    Autodesk Maya 是面向影视、电视、动画和游戏行业的专业三维制作软件,集多边形与 NURBS 建模、角色绑定、关键帧和动作捕捉动画、Bifrost 特效模拟、材质开发及 Arnold 渲染于一体,

    Aperty Windows版
    Aperty Windows版

    Aperty 是 Skylum 推出的 AI 人像修图软件,支持自然肤质修饰、瑕疵处理、面部与身体调整、预设及批量同步。

    立刻MV 网页版
    立刻MV 网页版

    立刻MV 面向音乐人、内容创作者和品牌团队,帮助用户低成本完成歌曲 MV、歌词视频、AI 分镜、图生视频与最终合成。

    蛙蛙写作 网页版
    蛙蛙写作 网页版

    蛙蛙写作 AI 创作工具,覆盖小说、剧本、文案,一键生成文稿,打通文字转视频全流程,高效解决创作难题。

    超级简历WonderCV 网页版
    超级简历WonderCV 网页版

    超级简历WonderCV是面向应届生和AI小白的智能求职平台,覆盖简历、面试与职业规划。

    音述AI 网页版
    音述AI 网页版

    音述AI,是一个以“用声音述说故事”为核心的 AI 音乐创作与声音分享社区。

    AionClaw Windows版
    AionClaw Windows版

    AionClaw 是可在桌面端运行的任务型 AI 助手,通过数字专家与技能市场组合办公、创作、数据和开发能力。

    Loomy Windows版
    Loomy Windows版

    Loomy 是科大讯飞推出的桌面 AI 助手,可通过对话、任务与工作目录协助处理办公、内容创作和资料整理。