2. 开发环境搭建
说实话,很多初学者一上来就急着写代码,结果卡在环境搭建上大半天。我见过太多人因为Python版本冲突、库装不上、虚拟环境搞混,最后心态崩了。这一章,咱们就把这些坑一个个填平。
2.1 Python环境配置——选对版本,少走弯路
Python版本这事儿,我吃过亏。几年前有个项目,我图新鲜用了Python 3.11,结果PyQt6的某个特性在3.11上跑得挺好,但部署到客户机器上(人家还是3.8)直接报错。从那以后,我学乖了:开发环境尽量和部署环境保持一致。
我个人习惯用Python 3.10或3.11。为什么?因为PyQt6、Tkinter、Kivy这三个库对3.10支持最稳,3.11也基本没问题。3.12以上版本,有些库还没完全适配,你想想看,装个库报一堆红字,多闹心。
推荐版本:Python 3.10.x 或 3.11.x
下载地址:python.org 下载安装包时,记得勾选「Add Python to PATH」。
安装完成后,打开终端(Windows用cmd或PowerShell,Mac/Linux用终端),输入:
python --version
如果显示的是Python 3.10.x或3.11.x,恭喜你,第一步走通了。如果没反应,多半是PATH没配好。嗯,这里要注意:Windows用户可以去「系统环境变量」里手动加一下Python的安装路径。
2.2 虚拟环境创建——隔离才是王道
为什么要用虚拟环境?说白了,就是防止不同项目之间的库打架。我曾经同时维护三个项目,一个用PyQt5,一个用PyQt6,还有一个用Tkinter。如果不隔离,全局装一堆库,版本冲突能让你怀疑人生。
Python自带的venv模块就够用,不需要额外装东西。创建虚拟环境的命令很简单:
# 在项目目录下执行
python -m venv venv
这行命令会在当前目录生成一个venv文件夹,里面就是独立的Python环境。激活它:
- Windows:
venv\Scripts\activate - Mac/Linux:
source venv/bin/activate
激活后,终端前面会出现(venv)字样,说明你已经在虚拟环境里了。这时候装任何库,都不会影响全局。
小技巧:我习惯在项目根目录放一个requirements.txt文件,记录所有依赖。这样换电脑或给别人用,直接pip install -r requirements.txt就搞定。
2.3 跨平台UI库安装——PyQt6、Tkinter、Kivy
这三个库,各有各的脾气。咱们一个一个来。
2.3.1 PyQt6——功能最全,但有点重
PyQt6是Qt6的Python绑定,界面漂亮,组件丰富。我第一个跨平台项目就用它,Windows上编译没问题,Mac上跑起来也丝滑。但要注意,PyQt6的安装包比较大(约50MB),网络不好的时候容易超时。
pip install PyQt6
如果下载慢,可以加国内镜像源:
pip install PyQt6 -i https://pypi.tuna.tsinghua.edu.cn/simple
装完后,写个简单测试:
import sys
from PyQt6.QtWidgets import QApplication, QLabel
app = QApplication(sys.argv)
label = QLabel("Hello, PyQt6!")
label.show()
sys.exit(app.exec())
跑起来能看到一个窗口,说明PyQt6装好了。
2.3.2 Tkinter——轻量级,Python自带
Tkinter是Python标准库的一部分,装好Python就有,不需要额外安装。但它的界面风格比较「复古」,说白了就是丑。不过胜在轻量,适合做小工具。
验证Tkinter是否可用:
import tkinter as tk
root = tk.Tk()
root.title("Hello, Tkinter!")
root.mainloop()
如果弹出窗口,说明Tkinter没问题。注意:Mac上Tkinter可能需要额外安装python-tk包,用Homebrew的话:brew install python-tk。
避坑指南:我曾经在Mac上遇到Tkinter窗口打不开的问题,折腾半天发现是系统自带的Tcl/Tk版本太旧。解决办法:用Homebrew重新安装Tcl/Tk,然后重新编译Python。
2.3.3 Kivy——触控友好,跨平台王者
Kivy主打触控和移动端,界面风格现代,但学习曲线比前两个陡。安装Kivy时,依赖比较多,尤其是Cython和一些底层库。
pip install kivy
如果报错,多半是缺少C++编译环境。Windows用户需要安装Visual Studio Build Tools,Mac用户需要Xcode Command Line Tools。装好后,测试代码:
from kivy.app import App
from kivy.uix.label import Label
class MyApp(App):
def build(self):
return Label(text="Hello, Kivy!")
MyApp().run()
Kivy的窗口默认是全屏的,按Esc退出。
2.4 知识体系总览
下面这张图,把本章的核心逻辑串起来了。你看一眼,心里就有数了。
2.5 常见问题与避坑指南
| 问题 | 原因 | 解决办法 |
|---|---|---|
| pip安装超时 | 默认源在国外,网络慢 | 使用国内镜像源,如清华、阿里云 |
| PyQt6导入报错 | 缺少Qt运行时库 | 重新安装PyQt6,或安装完整Qt库 |
| Tkinter窗口不显示 | Tcl/Tk版本不匹配 | 更新Tcl/Tk,或重新编译Python |
| Kivy安装失败 | 缺少C++编译环境 | 安装Visual Studio Build Tools或Xcode CLI |
我曾经踩过的坑:有次在Windows上装Kivy,报错说缺少angle库。我查了半天,发现是显卡驱动太旧。更新驱动后,问题解决。所以,如果Kivy装不上,先检查驱动和系统更新。
好了,环境搭好了,咱们就可以开始写真正的跨平台界面了。记住:环境搭建虽然枯燥,但基础打牢了,后面写代码才顺手。