最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Ubuntu安裝PySide6開發(fā)桌面應用實踐

 更新時間:2026年04月23日 10:08:45   作者:Pisces_224  
文章介紹了在Ubuntu非桌面端安裝PySide6并使用WSL2在Windows上開發(fā)Python桌面應用的全過程,首先,通過wS安裝基礎工具并用使用pip安裝PySide6,接著,在WindowsD安裝VSCode并配置WSL支持支持GUI顯示,最后D在WSL中開發(fā)Python桌面應用

一、引言

最近接觸了python相關方向的任務,需要開發(fā)一個桌面應用對接大模型做測試。于是有了這篇。

二、Ubuntu非桌面端安裝PySide6

本來嘛,ubuntu桌面系統(tǒng)直接安裝PySide6,再裝一個vscode就行,無奈手頭只有一臺windows,暫時先通過 wsl2來模擬跑一下。

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 have 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 have 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系統(tǒng) 為了保護系統(tǒng) Python 環(huán)境,禁止直接用 pip 安裝全局包,這是 Python PEP 668 規(guī)范的安全限制。

其實就是推薦你先 設個虛擬環(huán)境,再 安裝。

# 1. 創(chuàng)建虛擬環(huán)境(指定存放路徑,比如 ~/pyside6_venv)
python3 -m venv ~/pyside6_venv
# 2. 激活虛擬環(huán)境(每次使用前都需要執(zhí)行)
source ~/pyside6_venv/bin/activate

創(chuàng)建虛擬環(huán)境報錯:

python3 -m venv ~/pyside6_venvThe virtual environment was not created successfully because ensurepip is notavailable.  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?

原因是我的Ubuntu系統(tǒng)缺少創(chuàng)建 Python 虛擬環(huán)境必需的 python3.12-venv 包。需要先安裝這個 。

sudo apt install python3.12-venv  -y

之后再創(chuàng)建并激活虛擬環(huán)境即可。

接下來安裝 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

到這一步就安裝結束了。接下來是安裝Windows版的VSCode,然后配置wsl來開發(fā)。

2.2、windows下安裝VSCode

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

# 在 WSL 終端執(zhí)行
wsl --version  # 查看版本,確保有 WSLg 相關信息
wsl -l -v      # 檢查 Ubuntu 發(fā)行版的版本是 2

如果版本是 1,執(zhí)行 wsl --set-version Ubuntu 2 切換到 WSL 2(需等待幾分鐘)。

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

即使有 WSLg,也需要安裝基礎的 X11 依賴才能運行 Qt 程序:

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

這里出現(xiàn)錯誤:

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

libgl1-mesa-glx 是 OpenGL 渲染依賴,Ubuntu 22.04 LTS 及以上版本中,這個包已被 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 配置成功

2.2.4、安裝Windows 端 VSCode 連接 WSL 開發(fā)

1.安裝 Windows 版 VSCode

  • 從 VSCode 官網(wǎng) 下載 Windows 版并安裝(不是 Ubuntu 端的 VSCode)。

2.安裝 中文語言包

  • 打開 Windows 端 VSCode → 擴展面板(Ctrl+Shift+X)→ 搜索并安裝 Chinese (Simplified) (簡體中文) Language(微軟官方插件)。安裝完重啟應用中文

3.安裝 WSL 插件

  • 打開 Windows 端 VSCode → 擴展面板(Ctrl+Shift+X)→ 搜索并安裝 Remote - WSL(微軟官方插件)。

4.連接 WSL 環(huán)境

  • 安裝完成后,點擊 VSCode 左下角的「><」圖標 → 選擇「New WSL Window using Distro…」→ 選擇你的 Ubuntu 發(fā)行版。
  • 此時會打開一個新的 VSCode 窗口,標題欄顯示「WSL: Ubuntu」,說明已連接到 WSL 環(huán)境。

點擊左側的 打開文件夾…,或者按快捷鍵 Ctrl+K Ctrl+O,在彈出的對話框中選擇 WSL 里的項目目錄(例如 ~/pyside6_demo)。

如果沒有,輸入~,回車打開ubuntu內(nèi)文件夾列表,左側邊欄 點擊新建項目目錄。

然后進入目錄下,新建一個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 擴展 (F),或者按 Ctrl+Shift+X 打開擴展面板。
  • 在擴展面板的搜索框中輸入 Python,找到微軟官方的 Python 擴展。
  • 此時擴展按鈕會顯示為 在 WSL:Ubuntu 中安裝,點擊它進行安裝。
  • 安裝完成后,VSCode 會提示你重新加載窗口,點擊確認。

該截圖是默認的python解釋器。而我們前面已經(jīng)安裝了python3到虛擬環(huán)境。所以此處快捷鍵Ctrl+Shift+p調(diào)出查找框:

之后,選擇我們安好的 解釋器 :

此時,示例代碼終于依賴可用了。

運行后,windows桌面下出現(xiàn)該實例代碼的輸出:

ok,基本流程到此結束。后續(xù)可以開發(fā)了。

三、Ubuntu桌面系統(tǒng)開發(fā)

這里就不細說了,很簡單,時間問題后續(xù)有空寫點兒。

總結

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • Python-with open() as f的用法及說明

    Python-with open() as f的用法及說明

    這篇文章主要介紹了Python-with open() as f的用法及說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • Python?turtle編寫簡單的球類小游戲

    Python?turtle編寫簡單的球類小游戲

    turtle?(小海龜)?是?Python?內(nèi)置的一個繪圖模塊,其實它不僅可以用來繪圖,還可以制作簡單的小游戲。本文將利用Turtle制作一個簡單的球類小游戲,感興趣的可以學習一下
    2022-03-03
  • python練習之曾經(jīng)很火的小人畫愛心表白代碼

    python練習之曾經(jīng)很火的小人畫愛心表白代碼

    小編有個好兄弟最近在追妹子,跟妹子打得火熱!就差臨門一腳了,這一jio我?guī)兔ρa上去了!他問有沒有什么酷炫的表白方式,可以給人心動的趕jio,表白的方式有許多種今天小編來教大家一個之前很火的小人畫愛心表白代碼
    2021-09-09
  • Python報錯TypeError: unhashable type: ‘numpy.ndarray‘的解決辦法

    Python報錯TypeError: unhashable type: ‘numpy.nd

    在Python編程中,尤其是在處理數(shù)據(jù)時,我們經(jīng)常使用numpy數(shù)組,然而,當我們嘗試將numpy數(shù)組用作字典的鍵或集合的元素時,就會遇到TypeError: unhashable type: 'numpy.ndarray',本文將探討這個錯誤的原因,并給出幾種可能的解決方案,需要的朋友可以參考下
    2024-09-09
  • 一文教你Python如何創(chuàng)建屬于自己的IP池

    一文教你Python如何創(chuàng)建屬于自己的IP池

    這篇文章主要為大家詳細介紹了python如何創(chuàng)建屬于自己的IP池,文中的示例代碼講解詳細,對我們學習或工作有一定參考價值,需要的可以參考一下
    2022-04-04
  • celery在python爬蟲中定時操作實例講解

    celery在python爬蟲中定時操作實例講解

    在本篇文章里小編給大家整理了一篇關于celery在python爬蟲中定時操作實例講解內(nèi)容,需要的朋友們可以參考下。
    2020-11-11
  • Python實現(xiàn)Smtplib發(fā)送帶有各種附件的郵件實例

    Python實現(xiàn)Smtplib發(fā)送帶有各種附件的郵件實例

    本篇文章主要介紹了Python實現(xiàn)Smtplib發(fā)送帶有各種附件的郵件實例,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • 利用Python實現(xiàn)Excel文件智能合并工具

    利用Python實現(xiàn)Excel文件智能合并工具

    有時候,我們需要將多個Excel文件按照特定順序合并成一個文件,這樣可以更方便地進行后續(xù)的數(shù)據(jù)處理和分析,下面我們看看如何使用Python實現(xiàn)Excel文件智能合并吧
    2025-05-05
  • Python+Selenium實現(xiàn)讀取網(wǎng)易郵箱驗證碼

    Python+Selenium實現(xiàn)讀取網(wǎng)易郵箱驗證碼

    在自動化工作中,有可能會遇到一些發(fā)送郵箱驗證碼類似的功能。本文將利用Python?Selenium實現(xiàn)自動化讀取網(wǎng)易郵箱驗證碼,感興趣的可以了解一下
    2022-03-03
  • Python 中的 abc 模塊之抽象類與接口

    Python 中的 abc 模塊之抽象類與接口

    在面向?qū)ο笤O計中,Python的abc模塊提供了定義抽象類和接口的結構化方法,抽象類是不能直接實例化的類,主要用于定義接口規(guī)范,確保子類實現(xiàn)必要的方法,本文介紹了Python 中的 abc 模塊之抽象類與接口,感興趣的朋友跟隨小編一起看看吧
    2024-11-11

最新評論

邵武市| 洞口县| 微山县| 拉萨市| 吉木乃县| 阳朔县| 蒙自县| 文化| 白银市| 东安县| 石台县| 龙州县| 铜川市| 古田县| 峡江县| 临朐县| 木兰县| 丰镇市| 德化县| 汝城县| 商水县| 鄂尔多斯市| 陆良县| 思茅市| 茌平县| 长白| 普定县| 兴城市| 囊谦县| 万盛区| 阿图什市| 呼和浩特市| 绥棱县| 沙坪坝区| 乌恰县| 绍兴市| 乌拉特前旗| 湘阴县| 印江| 福安市| 金川县|