发布于2026-07-10 阅读(0)
扫一扫,手机访问
在 Ubuntu 上折腾 Python 图形界面,对不少开发者来说就像在迷宫里找出口——选择太多,反而让人拿不定主意。Tkinter、PyQt5、GTK、wxPython、Kivy……光是记名字就够头疼的。别急,这篇指南从环境搭建到打包分发,帮你一次性理清。

凡事预则立,首先把环境搭好。Ubuntu 上跑 Python GUI 应用,其实门槛很低。确保系统里已经安装了 Python 3 和 pip,这是基础——一条命令搞定:sudo apt update && sudo apt install python3 python3-pip。
虚拟环境几乎是必选项。它能把依赖隔离得干干净净,避免污染系统级别的包列表。创建和激活的命令也很简洁:python3 -m venv venv 然后 source venv/bin/activate。
图形环境这块要特别留意:应用必须在本地桌面会话(如 X11 或 Wayland)中运行。如果通过 SSH 远程访问,那就需要开启 X11 转发,或者利用 VNC 来创建显示环境,否则窗口根本不会蹦出来。
下面这张表汇总了 Ubuntu 上最常见的五种 GUI 方案,从安装到最小的“Hello, World”示例都有了,一目了然。
| 库 | 安装命令 | 最小示例 | 适用场景 |
|---|---|---|---|
| Tkinter | sudo apt install python3-tk | python\nimport tkinter as tk\nroot = tk.Tk(); root.title("Hello")\nlabel = tk.Label(root, text="Hello, Tkinter!"); label.pack()\nroot.mainloop()\n | 入门、内置、轻量工具 |
| PyQt5 | sudo apt install python3-pyqt5 或 pip3 install pyqt5 | python\nfrom PyQt5.QtWidgets import QApplication, QLabel, QWidget\napp = QApplication([])\nw = QWidget(); w.setWindowTitle('Hello')\nlbl = QLabel('Hello, PyQt5!', w); lbl.move(80,80)\nw.show(); app.exec_()\n | 复杂桌面、控件丰富、跨平台 |
| GTK+ 3(PyGObject) | sudo apt install python3-gi gir1.2-gtk-3.0 | python\nimport gi; gi.require_version('Gtk','3.0')\nfrom gi.repository import Gtk\nwin = Gtk.Window(title="Hello GTK")\nbtn = Gtk.Button(label="Click")\nwin.add(btn); win.connect("destroy", Gtk.main_quit)\nwin.show_all(); Gtk.main()\n | Linux 原生外观、GNOME 生态 |
| wxPython | sudo apt install python3-wxgtk4.0 | python\nimport wx\napp = wx.App(False)\nfrm = wx.Frame(None, wx.ID_ANY, "Hello wx")\nwx.StaticText(frm, -1, "Hello, wxPython!", (50,50))\nfrm.Show(True); app.MainLoop()\n | 原生外观、跨平台桌面 |
| Kivy | sudo apt install python3-kivy 或 pip3 install kivy | python\nfrom kivy.app import App\nfrom kivy.uix.label import Label\nclass MyApp(App):\ndef build(self): return Label(text='Hello, Kivy!')\nMyApp().run()\n | 触控、移动与跨平台应用 |
运行方式再简单不过:把代码存成 hello.py,在激活的虚拟环境里执行 python3 hello.py 即可。以上命令在 Ubuntu 20.04/22.04/24.04 这些主流版本上都通过了验证。
到底选哪个库?下面这五点建议或许能帮你定夺。
应用写完了,怎么给用户?常用的打包工具是 PyInstaller 和 cx_Freeze。
pyinstaller --onefile hello.py 就能生成单文件可执行程序。小项目用它最省心。打包时有两个坑要提前避开:
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8