Python 的第一道坎不是语法(语法最简单),是环境:装哪个版本、包怎么装、为什么别人的代码在我机器上跑不起来。本章把环境问题一次讲透(REPL、venv、pip),用「第一个脚本 + 第一次装库」的实操建立正确习惯——从 venv 开始的人,永远不会遇到「依赖地狱」。
Python 是解释执行(计组课第 1 章的语言光谱:编译到字节码 + 虚拟机执行,和 Java 同款架构,只是字节码对用户透明)。跑 Python 的三种方式:
python3 hello.py # 跑脚本文件
python3 # 进入 REPL(交互式解释器)
python3 -c "print(1+1)" # 单行执行
REPL(Read-Eval-Print Loop)是 Python 的第一大杀器:输入一行立刻看到结果,试语法、算数、看文档(help(len))全靠它。「Python 学习快」的体验一半来自 REPL 的即时反馈——养成「不确定就开 REPL 试一下」的习惯,学习速度翻倍。
版本常识:只用 Python 3(Python 2 已于 2020 年退役,网上老教程的 print "xxx" 是 2 代遗物);版本号挑最新的稳定版(3.12+),python3 --version 验证。macOS/Linux 自带(但可能是旧版),Windows 去官网装并勾选「Add to PATH」(第 1 章计组课的 PATH 老朋友)。
# hello.py
print("Hello, Python!")
name = input("你叫什么?")
print(f"你好,{name}!") # f-string:第 2 章正式讲
$ python3 hello.py
Hello, Python!
你叫什么?思源
你好,思源!
和 Java 课对比:public static void main(String[] args) 的全部仪式,Python 用一个 print 直接开始(脚本从上到下执行,没有强制入口);和 C 指针课对比:没有类型声明、没有分号、没有编译——「跑起来之前」的仪式几乎为零。省下的仪式感换来的代价:类型错误跑到那行才炸(动态类型,第 2 章)、性能慢一个量级(解释 + 动态,计组课第 10 章 Python 慢的机器级解释)。
Python 的生态武器是 PyPI(包仓库,50 万+ 包),装法一行:
pip install requests # 装
pip list # 看装了什么
pip show requests # 看版本和依赖
import requests 之后,HTTP 请求、Excel 读写、爬虫、AI 模型全是现成的。「 batteries included」(第 7 章标准库)+ 「PyPI 无所不包」是 Python 统治脚本/数据/AI 领域的根本原因。
直接往系统 Python 里装包,迟早撞上两个灾难:项目 A 要 requests 2.0、项目 B 要 1.0(版本打架);系统 Python 被改坏,连系统工具都挂(某些 Linux 发行版自己依赖 Python)。解法:虚拟环境(venv),每个项目一个独立的 Python 世界:
python3 -m venv .venv # 在项目目录创建虚拟环境
source .venv/bin/activate # 激活(Linux/macOS;Windows 用 .venv\Scripts\activate)
pip install requests # 装进这个隔离环境
deactivate # 退出
激活后 shell 提示符出现 (.venv),此时 pip 装的一切只属于这个环境。铁律:每个项目一个 venv,永不往系统里装包。配套文件 requirements.txt(pip freeze > requirements.txt)记录本环境的包清单,别人 pip install -r requirements.txt 一键复现——软件工程课第 9 章「lock 文件保证可复现」的 Python 版。
(更现代的替代:uv(极快)、poetry(带锁文件与打包),思路一致:隔离 + 锁版本;先用 venv 学原理,再换工具。)
编辑器选择:VS Code + Python 插件(轻量通用)或 PyCharm(重但全);REPL 的进阶是 Jupyter Notebook(单元格交互执行,数据科学标配,第 10 章用它)。两个好习惯从第一天养成:报错信息从下往上读(Python 的 traceback 最后一行是病因)、print() 是最朴素的调试器(第 5 章再上正式工具)。
学习路线预告:第 2~4 章(语法与容器)是底座,务必配 REPL 每章敲一遍;第 8、9 章(生成器、装饰器)是 Python 精髓,「Pythonic」的分水岭;第 10 章实战可以反复回访。
pip -V 看路径确认(应含 .venv)。which python3 确认。pip -V 与 python3 -V 的输出截图/记录;在 REPL 里跑 import this(Python 之禅,本课的精神纲领)。import cowsay; cowsay.cow("Hello!");再 pip freeze 看看这个环境多了什么。