本章学习目标
完成本章学习后,你将能够:
独立在个人电脑上安装并配置Python开发环境
熟练使用 VS Code 编写和运行Python程序
1.1 认识Python语言
1.1.1 什么是Python?
Python是一种解释型、面向对象 的高级编程语言,由荷兰程序员**Guido van Rossum** 于1991年首次发布。它的设计哲学强调代码的可读性 ,允许开发者用比**C++** 或**Java**更少的代码行来表达复杂逻辑。
用一个简单对比来说明 Python 的简洁性------用 Java 打印"Hello World"需要5行代码,而 Python 只需要1行:
python
print("Hello World!")
1.1.2 Python的核心特点
| 特点 | 说明 |
|---|---|
| 语法简洁 | 代码结构清晰,使用缩进表示代码块,天然具备良好的可读性 |
| 解释执行 | 无需编译,修改代码后直接运行,非常适合快速迭代开发 |
| 跨平台 | Windows、macOS、Linux均可运行,代码迁移成本极低 |
| 丰富的 标准库 | 内置大量实用模块,处理文件、网络、正则表达式等无需额外安装 |
| 庞大的第三方生态 | PyTorch、TensorFlow、Transformers、LangChain等AI库一应俱全 |
1.1.3 Python在AI大模型领域的地位
当前几乎所有主流大模型框架都是用Python编写的,包括但不限于:
-
模型训练:PyTorch、TensorFlow、JAX
-
模型应用:Transformers(Hugging Face)、LangChain、LlamaIndex
-
API 调用:OpenAI SDK、Anthropic SDK、国内各大模型厂商SDK
可以说,掌握了Python,就拿到了进入AI 大模型 世界的钥匙。
1.1.4 版本选择
当前Python主流版本为Python 3.10、3.11、3.12。Python 2已于2020年停止维护,请务必安装Python 3.x系列。本书所有代码均基于Python 3.10+编写,推荐使用Python 3.11或3.12。
1.2 环境选择
1.2.1 Windows 原生环境与 WSL对比
选择在 Windows 原生环境还是 WSL(Windows Subsystem for Linux) 中开发,没有绝对的对错,它更像是在便利性、 兼容性 和性能之间做权衡。
总的来说,对于你面向的 AI 大模型 应用开发 ,我更推荐你使用 WSL。
我把两者的核心对比整理成了一个表格,方便你快速理解:
| 对比维度 | ✅ Windows 原生环境 | ✅ WSL (Windows Subsystem for Linux) |
|---|---|---|
| 环境一致性 | 与 Linux 生产环境有差异,可能导致本地运行正常、部署后却出错的问题。 | 高度一致。代码在 WSL 中的表现与在 Linux 服务器上几乎相同,能有效避免部署时出现意外。 |
| 工具与包管理 | 部分 Python 库(尤其是涉及 C 扩展的)可能在 Windows 上安装失败或存在兼容性问题。 | 无缝兼容。几乎所有 Linux 工具和库都能开箱即用。 |
| 性能 (Python) | 原生性能,但在 I/O 和进程操作上可能不如 Linux 高效。 | 性能接近原生,CPU 计算任务通常能达到原生 Linux 的 95% 左右,足以应对日常开发。 |
| GPU 支持 (AI/ ML ) | 原生支持最好,CUDA 驱动和 PyTorch/TensorFlow 的 GPU 版本配置最直接。 | 官方已支持,但可能涉及额外的配置步骤,或存在未被广泛测试的稳定性风险。 |
| Docker 集成 | 基于 Hyper-V 的传统方式,资源占用大,启动慢。 | 最佳实践。Docker Desktop 可直接使用 WSL 2 后端,启动快、资源占用少,体验流畅。 |
| IDE 集成 | 无缝集成,所有 Windows 上的 IDE 都能直接使用。 | 无缝集成。VS Code 和 PyCharm 专业版都能通过 "Remote - WSL" 功能直接连接。 |
| 上手门槛 | 低。无需学习 Linux 命令,可直接开始编码。 | 中 。需要了解基本的 Linux 命令行操作,如 cd, ls, mkdir 等。 |
| 资源占用 | 低。只运行必要的进程。 | 相对较高,因为它运行了一个完整的轻量级 Linux 虚拟机。 |
1.2.2 为什么我会更推荐 WSL?
你可能已经发现,除了"上手门槛"和"资源占用"这两个维度,WSL 在其他方面都展现出了显著优势。而这两个"短板",其实是可以被接受或解决的。
(1)上手门槛是可控的:学习基本的 Linux 命令,是后端和 AI 开发绕不开的必修课。直接在 WSL 环境中实践,是一个很好的学习机会。
(2)资源占用问题可以优化:WSL 2 确实比原生 Windows 更吃内存,这主要是因为它的轻量级虚拟机机制。
-
但请注意:这并不是 WSL 独有的问题,任何虚拟机或容器环境都会有类似的开销。
-
解决方案 :你可以通过一个简单的配置来限制 WSL 2 的内存使用量。在
C:\Users\<你的用户名>目录下,创建一个名为.wslconfig的文件,并写入以下内容:
python
[wsl2]
memory=4GB # 限制最大使用4GB内存,可根据你的电脑配置调整
processors=2 # 限制使用的CPU核心数
- 这样设置后,
WSL 2的内存使用就会被限制在你指定的范围内,基本可以解决内存占用过大的问题。
1.2.3 一个你必须注意的"坑":文件系统的性能陷阱
这一点非常重要,很多刚开始用 WSL 的朋友都会踩到这个坑。
-
错误做法 :将项目代码放在 Windows 的磁盘(如
C:\Projects),然后在 WSL 里通过/mnt/c/Projects去访问。这会带来巨大的性能损耗,编译或安装依赖会慢到让你怀疑人生。 -
正确做法 :将你的项目文件存储在 WSL 专属的 Linux 文件系统 中(如你的 Linux 用户主目录
/home/yourname/projects)。
1.2.4 回到 AI 大模型开发:分场景建议
结合 AI 开发的具体需求,你可以这样选择:
-
场景一:你的工作需要 频繁训练 或 微调 大模型 (重度依赖 GPU )
-
结论 :选择 Windows 原生环境。当任务极度依赖 GPU 计算时,Windows 原生环境能提供最直接、最稳定的驱动和库支持,是你当前最稳妥的选择。
-
替代方案 :如果你希望兼顾开发与训练,可以尝试原生 Linux 系统,它通常能提供最极致的 GPU 性能和稳定性。
-
-
场景二:你的工作主要是调用 API ,或者只是进行轻量级的本地推理
- 结论 :强烈推荐 WSL。这就是我们前文讲义里所涉及的大部分工作内容。WSL 带来的环境一致性和 Docker 集成的便利性,会大大提升你的开发效率和部署的成功率。
1.2.5 总结
对于刚入门的 AI 开发者来说,我非常推荐你直接从 WSL 开始,并把项目文件放在 Linux 文件系统里。
这能让你从一开始就养成贴近生产的开发习惯。同时,如果你确实需要用到 GPU 训练,也完全可以保留 Windows 原生的 Python 环境,两个环境各司其职,互不干扰。
希望这个对比能帮你做出适合自己的选择。
1.3 搭建Python开发环境(在WSL中)
一个好的开发环境能让学习事半功倍。考虑到后续AI大模型开发大多在Linux环境下部署,我们推荐在WSL中搭建开发环境,以保证本地开发与生产环境的一致性。本节将带领你一步步完成WSL安装、Python解释器安装、VS Code配置以及虚拟环境的创建。
1.3.1 什么是WSL?为什么推荐它?
WSL(Windows Subsystem for Linux) 是微软为Windows系统开发的Linux兼容层。它允许你在Windows中运行一个完整的Linux发行版(如Ubuntu),而无需安装虚拟机。
对于AI大模型开发,推荐WSL的原因:
-
环境一致性:Linux是AI开发和生产环境的主流操作系统。WSL中开发的应用几乎可以无缝部署到Linux服务器,避免"本地正常、部署报错"的问题。
-
性能优异:WSL2基于轻量级虚拟机,CPU计算性能接近原生Linux,同时支持GPU直通。
-
无缝集成:VS Code通过"Remote-WSL"扩展可以直接连接到WSL环境,体验与本地开发完全一致。
小提示:AI大模型开发中涉及的绝大多数工具和库(如PyTorch、LangChain、Docker等)都原生为Linux设计,在WSL中能获得最佳兼容性。
1.3.2 安装WSL与Ubuntu发行版
1、以 管理员 身份打开 PowerShell
-
按下键盘
Win + X,选择"Windows PowerShell(管理员)"或"终端(管理员)" -
在弹出的用户账户控制窗口中点击"是"
2、安装WSL和Ubuntu
在PowerShell中输入以下命令并回车:
bash
wsl --install
这个命令会自动完成三件事:
启用"适用于 Linux 的 Windows 子系统"和"虚拟机平台"两个 Windows功能
下载并安装最新的 Linux内核
安装默认的Ubuntu发行版
如果你想指定安装某个特定版本的Ubuntu(例如Ubuntu-22.04),可以使用:
bash
wsl --install -d Ubuntu-22.04
3、 重启 电脑并完成Ubuntu初始化
-
安装完成后,系统会提示你重启 电脑
-
重启后,系统会自动弹出Ubuntu终端窗口,等待片刻后会提示你创建一个新的Linux用户名和密码
-
这个用户名和密码是Linux系统内部使用的,与Windows密码无关
⚠️ 重要:输入密码时屏幕不会显示任何字符(这是Linux的安全特性),正常输入后按回车即可。
4、验证WSL版本
重新打开PowerShell,输入以下命令确认WSL版本为2:
bash
wsl -l -v
你会看到类似如下输出:
bash
NAME STATE VERSION
* Ubuntu Running 2
如果VERSION显示为1,可以通过以下命令升级到WSL2:
bash
wsl --set-version Ubuntu 2
转换过程可能需要几分钟。完成后,再运行 wsl -l -v 确认版本已变为2。
5、更新WSL内核(可选但推荐)
确保**WSL**的Linux内核是最新的,可以避免后续很多奇怪的兼容性问题:
bash
wsl --update
1.3.3 在WSL中安装 Python 解释器
现在,从开始菜单打开你的**Ubuntu** 应用(或直接在PowerShell中输入 wsl 命令进入子系统)。
1、更新系统软件包列表
首先更新Ubuntu的软件包列表,确保能够获取到最新的软件版本:
bash
sudo apt update && sudo apt upgrade -y
这个命令会要求你输入之前设置的Linux密码,输入后按回车即可。
2、安装 Python 3.12
Ubuntu 默认仓库中的**Python** 版本可能不是最新的(例如Ubuntu 22.04默认提供Python 3.10)。要安装Python 3.12,推荐使用deadsnakes PPA(个人软件包存档),这是一个社区维护的、提供新版Python的可靠源。依次执行以下命令:
bash
# 1. 安装添加 PPA 所需的工具
sudo apt install -y software-properties-common
# 2. 添加 deadsnakes PPA
sudo add-apt-repository ppa:deadsnakes/ppa -y
# 3. 更新软件包列表
sudo apt update
# 4. 安装Python 3.12
sudo apt install -y python3.12
安装完成后,输入以下命令验证安装是否成功:
bash
python3.12 --version
如果屏幕上显示 Python 3.12.x 或类似字样,说明安装成功。
3、设置Python 3.12为默认版本(可选)
当你输入 python3 时,系统默认可能指向旧版Python。要将Python 3.12设为默认,可以使用update-alternatives工具:
bash
# 注册 Python 3.12 到 alternatives 系统
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.12 1
# 选择默认版本
sudo update-alternatives --config python3
在弹出的菜单中,选择对应Python 3.12的编号即可。
替代方案 :你也可以安装
python-is-python3包,使得python命令直接指向python3:
bashsudo apt install python-is-python3
1.3.4 安装 VS Code 并配置WSL集成
1、在Windows中安装VS Code
-
下载对应Windows的安装包并安装
-
安装时建议勾选"添加到PATH"和"将Code打开操作添加到资源管理器上下文菜单"
2、安装"WSL"扩展
VS Code通过Remote-WSL扩展来连接WSL环境:
-
打开VS Code,点击左侧活动栏的扩展图标 (或按
Ctrl+Shift+X) -
搜索 "WSL"
-
找到由Microsoft 发布的"WSL"扩展,点击安装
注意:这个扩展与前面讲的"Python"扩展是两个不同的扩展,两个都需要安装。
3、安装Python扩展(在WSL中)
WSL扩展安装后,你还需要在WSL环境中安装Python扩展:
-
按
Ctrl+Shift+P打开命令面板 -
输入
WSL: Connect to WSL并选择(或点击VS Code左下角的绿色按钮,选择"Connect to WSL") -
VS Code会自动打开一个新窗口,标题栏会显示
[WSL: Ubuntu] -
在这个WSL连接的窗口中,再次打开扩展市场,搜索"Python"并安装(这个安装会自动部署到WSL中)
1.3.5 创建你的第一个Python项目(在WSL中)
1、新建项目文件夹
在WSL终端中(可以直接在VS Code的终端中操作),执行:
bash
# 进入你的Linux主目录
cd ~
# 创建项目文件夹
mkdir python_learning
cd python_learning
⚠️ 非常重要 :一定要把项目文件放在WSL的Linux文件系统中(如
~/python_learning),不要放在 Windows挂载的目录下(如/mnt/c/...)。后者会导致文件性能下降、权限异常等问题。
2、用VS Code打开该文件夹
在WSL终端中,输入:
bash
code .
这个命令会自动打开VS Code(在WSL连接模式下),并加载当前文件夹。
3、新建Python文件
-
在左侧资源管理器中,点击新建文件图标(或右键空白处选择"新建文件")
-
输入文件名
hello.py(注意后缀必须是.py)
4、编写测试代码
python
print("欢迎来到Python世界!")
print("我将从这里开启AI大模型开发之旅。")
5、运行程序
-
点击右上角的 ▶️ 运行按钮
-
或者按
Ctrl + F5 -
此时VS Code底部会出现一个终端面板,显示程序输出结果
小提示 :此时终端显示的前缀应该是类似
user@DESKTOP-XXX:~/python_learning$,这说明你正在WSL的Linux环境中运行。
1.2.6 理解和使用虚拟环境(在WSL中)
1、为什么需要 虚拟环境 ?
假设你同时在开发两个Python项目:
-
项目A需要
numpy==1.24.0 -
项目B需要
numpy==2.0.0
如果将所有包都安装在全局环境中,就会产生版本冲突。虚拟环境 为每个项目创建一个独立的Python运行环境,不同项目之间的包互不影响。这是Python开发的重要实践,强烈建议从一开始就养成使用虚拟环境的习惯。
2、创建 虚拟环境
(1)确保终端当前路径在项目文件夹内
- 终端提示符应该显示类似
user@DESKTOP-XXX:~/python_learning$
(2)安装venv模块(如果尚未安装)
python
sudo apt install python3.12-venv
(3)执行创建命令
python
python3.12 -m venv venv
命令解释:
-
-m venv表示运行Python内置的venv模块 -
最后一个
venv是虚拟环境文件夹的名字(可以自定义,但业界习惯命名为venv或.venv)
3、激活 虚拟环境
在WSL(Linux环境)中,使用 source 命令激活虚拟环境:
python
source ~/ai_large_model/python_study/venv/bin/activate
4、确认激活成功
激活后,终端提示符前面会出现 (venv) 标识:
python
(venv) user@DESKTOP-XXX:~/python_learning$
此时通过 pip install 安装的任何包都会安装到该虚拟环境中。
5、VS Code自动识别 虚拟环境
-
按
Ctrl+Shift+P打开命令面板 -
输入
Python: Select Interpreter -
选择列表中带有
venv字样的解释器路径(例如Python 3.12.3 ('venv': venv)) -
之后VS Code的运行和调试都会自动使用该虚拟环境
6、退出 虚拟环境
python
deactivate
1.2.7 安装第一个第三方库
我们来体验一下pip安装第三方库的流程。在激活虚拟环境的状态下,执行:
python
python -m pip install requests
以后在这个虚拟环境里,养成用 python -m pip 的习惯,可以完全避免 PATH 干扰。
requests 是一个用于发送HTTP请求的库,稍后的案例中会用到它。
⚠️ 常见问题与排错指南
| 问题 | 解决方法 |
|---|---|
wsl --install 失败 |
确保Windows已更新至最新版本,并检查BIOS中是否开启了虚拟化技术 |
WSL中 sudo apt update 报错 |
可能是网络问题,尝试更换国内镜像源(如清华源或阿里云源) |
python3.12: command not found |
确认已添加deadsnakes PPA并执行了 sudo apt update |
| pip安装包时提示权限不足 | 请不要使用 sudo pip install,确保已激活虚拟环境后再安装 |
| VS Code无法连接WSL | 检查WSL扩展是否已安装,尝试在PowerShell中执行 wsl --shutdown 后重新连接 |
1.4 综合案例:从零开始创建你的第一个Python项目
前面我们完成了WSL、Python、VS Code以及虚拟环境的安装配置。接下来,我们将通过一个完整的小案例,把前面学到的所有知识串联起来,从零开始创建一个真实可运行的Python项目。这个案例会模拟AI大模型开发中常见的任务:调用一个公共 API 获取数据并处理结果。
1.4.1 案例目标
我们将编写一个简单的天气查询程序。用户输入城市名称,程序会调用免费的公共天气API,返回该城市的当前温度、天气状况等信息。通过这个案例,你将实践:
-
在WSL中创建项目目录
-
使用VS Code打开并编辑项目
-
创建并激活Python虚拟环境
-
使用
pip安装第三方库(requests) -
编写Python代码实现API调用
-
运行并调试程序
1.4.2 步骤一:在WSL中创建项目目录
打开Windows终端(PowerShell或CMD),输入wsl进入Ubuntu环境。或者直接从开始菜单打开Ubuntu应用。
bash
# 进入用户主目录:python_study
# 创建项目文件夹(建议全部使用小写字母和下划线)
mkdir weather_app
cd weather_app
# 验证当前位置
pwd
# 输出应为 /home/你的用户名/weather_app
⚠️ 提醒 :请确认路径在/home/下,而不是/mnt/c/。这是WSL性能最佳实践的关键。
1.4.3 步骤二:用VS Code打开项目
在WSL终端中,确保当前位于~/weather_app目录下,输入:
bash
code .
VS Code 会自动启动,并以**WSL** 模式打开当前文件夹。你会在VS Code左下角看到绿色的远程连接标识 >< WSL: Ubuntu,这表示你现在正在WSL的Linux环境中工作。
1.4.4 步骤三:创建虚拟环境
在VS Code中,打开一个新的终端(快捷键 Ctrl + `` 或者通过菜单"终端"->"新建终端")。终端会自动定位到当前项目目录。
执行以下命令创建虚拟环境(我们使用Python 3.12):
bash
python3.12 -m venv venv
命令执行后,项目文件夹中会出现一个venv子目录,里面包含了一个独立的Python运行环境。
1.4.5 步骤四:激活虚拟环境并安装依赖
在同一个VS Code终端中,激活虚拟环境:
bash
source venv/bin/activate
激活成功后,终端提示符前面会出现(venv)标识:
bash
(venv) user@DESKTOP-XXX:~/weather_app$
现在安装我们需要用到的第三方库------requests,它用于发送HTTP请求调用天气API:
bash
python -m pip install requests
小提示 :使用
python -m pip而不是直接pip,可以确保安装到当前激活的虚拟环境中,避免PATH混淆。
1.4.6 步骤五:编写Python代码
在VS Code左侧资源管理器中,点击新建文件图标,命名为weather.py。输入以下代码:
python
"""
一个简单的天气查询程序
使用 wttr.in 提供的免费公开API(无需注册)
"""
import requests
def get_weather(city):
"""根据城市名称获取天气信息"""
# wttr.in 是一个面向开发者的极简天气API
# 参数:?format=3 表示返回简洁的单行文本格式
url = f"https://wttr.in/{city}?format=3"
try:
response = requests.get(url, timeout=5)
# 检查HTTP状态码是否正常(200表示成功)
response.raise_for_status()
return response.text.strip()
except requests.exceptions.RequestException as e:
return f"查询失败:{e}"
def main():
print("=== 简易天气查询工具 ===")
city = input("请输入城市名称(英文或拼音,例如:Beijing):")
if not city.strip():
print("城市名不能为空!")
return
print(f"正在查询 {city} 的天气...")
weather_info = get_weather(city)
print("查询结果:", weather_info)
if __name__ == "__main__":
main()
1.4.7 步骤六:运行程序
你有两种方式运行这个程序:
方法一:使用VS Code的运行按钮
-
点击代码编辑器右上角的绿色三角形 ▶️ 运行按钮
-
或者按快捷键
Ctrl + F5
方法二:在终端中手动运行
确保终端中虚拟环境仍处于激活状态(有(venv)提示符),然后输入:
python
python weather.py
运行后,程序会等待你输入城市名称。例如输入London,输出类似:
python
正在查询 London 的天气...
查询结果: London: 🌦 +7°C
你也可以尝试Beijing、NewYork等城市。wttr.in支持中文城市名(拼音)和英文名。
1.4.8 步骤七:让 VS Code 自动识别虚拟环境(可选但推荐)
关闭当前的VS Code窗口,然后重新在终端中进入~/weather_app目录,再次执行code .。这次VS Code会自动检测到项目中的venv虚拟环境,并在右下角弹出提示:"是否将此文件夹中的虚拟环境用于工作区?" 点击"是"即可。
你也可以手动选择解释器:
-
按
Ctrl+Shift+P打开命令面板 -
输入
Python: Select Interpreter -
选择列表中带有
venv字样的路径(例如./venv/bin/python)
之后,VS Code的代码补全、运行和调试都会自动使用这个虚拟环境。
1.4.9 案例小结
通过这个小案例,你完成了以下关键实践:
| 实践内容 | 对应命令/操作 |
|---|---|
| 创建项目目录 | mkdir weather_app && cd weather_app |
| WSL中启动VS Code | code . |
| 创建虚拟环境 | python3.12 -m venv venv |
| 激活虚拟环境 | source venv/bin/activate |
| 安装第三方库 | python -m pip install requests |
| 编写Python脚本 | 在VS Code中新建.py文件并编写代码 |
| 运行程序 | 点击运行按钮或 python weather.py |
这些步骤构成了**Python**项目开发的标准工作流。无论你将来是开发Web应用、数据分析脚本,还是AI大模型的调用程序,都将遵循相同的模式。建议你多练习几次,直到能够熟练地独立完成整个流程。
1.4.10 常见问题与改进方向
-
如果查询返回"Unknown city" :尝试使用更精确的城市英文名,例如查询"上海"可以输入
Shanghai。也可以尝试使用国家+城市格式,如London,UK。 -
网络连接问题 :由于wttr.in服务器在国外,国内用户可能偶尔超时。可以将URL中的
https改为http,或者后续学习配置HTTP代理。 -
扩展练习:试着修改代码,让用户可以选择不同的输出格式(例如返回完整的天气预报),或者将查询结果写入文件保存。这些都可以利用Python的文件操作和字符串处理轻松实现。
至此,你已经成功搭建了完整的Python开发环境,并通过一个小案例验证了环境配置的正确性。接下来的章节,我们将正式进入Python语法和AI大模型开发的核心内容。