4、PySide6环境搭建:Python虚拟环境创建、PySide6库安装、第一个窗口程序
好,咱们正式开始动手了。
这一章,我带你从零搭建PySide6的开发环境。说白了,就是让你的电脑能跑起来一个桌面窗口。别小看这一步,我见过太多新手卡在环境配置上,代码写好了却跑不起来,那种感觉确实挺憋屈的。
4.1 为什么非要搞虚拟环境?
你可能觉得:直接 pip install 不就行了?搞什么虚拟环境,多此一举。
嗯,我以前也这么想。直到有一次,我同时维护两个项目:一个用 PySide2,一个用 PySide6。结果你猜怎么着?两个库的依赖打架了,项目A能跑,项目B就报错。折腾了一下午,最后发现是全局环境里混了不同版本的 Qt 绑定库。
从那以后,我养成了一个习惯——每个项目都建独立的虚拟环境。说白了,虚拟环境就像给每个项目配了一个独立的「小房间」,互不干扰。
核心原则:一个项目,一个虚拟环境。别偷懒。
4.2 创建Python虚拟环境
Python 3.3 以上版本自带 venv 模块,不需要额外安装。我个人习惯用 venv,轻量、干净。
打开你的终端(Windows用CMD或PowerShell,Mac/Linux用终端),先确认Python版本:
python --version
确保版本在 3.7 以上。如果低于 3.7,建议升级。PySide6 对 Python 版本有要求,太低会报错。
然后,在你的项目目录下执行:
# Windows
python -m venv venv
# Mac / Linux
python3 -m venv venv
这条命令会创建一个名为 venv 的文件夹,里面就是独立的 Python 环境。名字你可以随便起,但我建议就叫 venv,业界惯例,别人一看就懂。
小技巧:如果你用 Git 管理代码,记得把 venv/ 加到 .gitignore 里。虚拟环境不需要提交到仓库,别人拉下来自己建就行。
4.3 激活虚拟环境
环境建好了,得「激活」才能用。不同系统命令不一样:
| 系统 | 激活命令 |
|---|---|
| Windows (CMD) | venv\Scripts\activate |
| Windows (PowerShell) | venv\Scripts\Activate.ps1 |
| Mac / Linux | source venv/bin/activate |
激活成功后,终端前面会出现 (venv) 字样。比如:
(venv) C:\Users\你的项目>
看到这个括号了吗?说明你现在已经在虚拟环境里了。这时候你安装的所有库,都只会装到这个 venv 文件夹里,不会污染全局。
注意:如果你用的是 PowerShell,可能会遇到「无法加载文件,因为在此系统上禁止运行脚本」的错误。这是因为执行策略限制。解决办法:以管理员身份运行 PowerShell,执行 Set-ExecutionPolicy RemoteSigned,然后选 Y 确认。
4.4 安装PySide6
激活虚拟环境后,安装就简单了:
pip install PySide6
等等,别急着敲回车。我建议你先配个国内镜像源,不然下载速度会让你怀疑人生。PySide6 的包大概 100MB 左右,从国外源下载,慢的时候能等半小时。
用清华镜像源:
pip install PySide6 -i https://pypi.tuna.tsinghua.edu.cn/simple
安装完成后,验证一下:
pip list | findstr PySide6 # Windows
pip list | grep PySide6 # Mac / Linux
如果看到类似 PySide6 6.6.0 的输出,说明安装成功。
避坑指南:我曾经遇到过安装 PySide6 后,导入时报错 DLL load failed。折腾了半天,发现是系统缺少 Visual C++ 运行库。解决办法:去微软官网下载安装「Visual C++ Redistributable for Visual Studio 2015-2022」。Windows 用户尤其要注意这点。
4.5 第一个窗口程序
环境搭好了,咱们写个最简单的窗口程序。别怕,就几行代码:
import sys
from PySide6.QtWidgets import QApplication, QWidget
# 1. 创建应用对象
app = QApplication(sys.argv)
# 2. 创建窗口
window = QWidget()
window.setWindowTitle("我的第一个PySide6窗口")
window.resize(400, 300)
# 3. 显示窗口
window.show()
# 4. 进入事件循环
sys.exit(app.exec())
把这段代码保存为 main.py,然后在终端运行:
python main.py
如果一切顺利,你会看到一个 400x300 的空白窗口弹出来。标题栏显示「我的第一个PySide6窗口」。
嗯,就这么简单。虽然它啥也没干,但这是一个完整的桌面应用骨架。你想想看,所有复杂的桌面软件,底层都是从这个空窗口开始的。
小提示:如果你运行后窗口一闪而过,检查一下代码最后一行是不是 sys.exit(app.exec())。没有这一行,程序执行完就退出了,窗口自然就消失了。
4.6 代码逐行拆解
我带你过一遍每行代码的作用,这样你心里有底:
QApplication:每个 PySide6 程序必须有一个。它管理全局资源,比如字体、光标、事件循环。说白了,它是整个应用的「大管家」。QWidget:最基本的窗口组件。所有界面元素(按钮、文本框、标签)都是它的子类。你可以把它理解成一张「白纸」。setWindowTitle():设置窗口标题。就是标题栏上显示的那行字。resize():设置窗口大小。参数是宽度和高度,单位是像素。show():显示窗口。默认创建的窗口是隐藏的,必须调用show()才能看到。app.exec():启动事件循环。程序进入等待状态,监听用户的鼠标点击、键盘输入等操作。窗口关闭时,exec()返回,程序结束。
为什么需要事件循环?你想想看,如果程序执行完就退出了,窗口怎么响应用户的操作?app.exec() 就像一个永不停止的监听器,一直在后台等着用户「搞事情」。
4.7 本章小结
这一章,我们做了三件事:
- 创建并激活了 Python 虚拟环境
- 安装了 PySide6 库
- 写了一个能跑起来的窗口程序
别小看这三步。环境搭建是很多初学者放弃的第一道坎。你既然走到了这里,说明已经跨过了最枯燥的部分。下一章,我会带你往窗口里加点「料」——按钮、标签、输入框,让这个空窗口真正「活」起来。
记住:所有复杂的桌面应用,都是从这几十行代码开始的。你已经在路上了。