章节摘要:模块是 Python 组织代码的基本单位,也是"名字查找故事"的最大容器——模块即对象、即命名空间。本章讲导入系统的搜索路径、执行语义、循环导入的成因与解法;再讲虚拟环境与依赖管理,把"代码能跑"升级为"项目可交付"。
阅读完本章,你应当能够:
sys.modules 缓存的角色;__name__ == "__main__" 的准确含义;import 不只是"引入",它是"查找—执行—缓存—绑定"四连;理解它,一半的"装了却导入不了"问题当场消解。
import 的完整语义、包的 __init__ 与相对导入、循环导入诊断。
venv/pip/pyproject 的三层体系,依赖解析与版本锁定,为什么"永远别用系统 Python 装包"。
5.1 讲解释器如何"找到并装填"模块,5.2 讲第三方包从哪来、装到哪、如何隔离。前者是运行时机制,后者是工程基础设施,合起来构成可交付项目的完整拼图。
前置:第 1 章名字绑定(模块是命名空间的最后一块拼图)、第 3 章 LEGB 的 G 层。
提醒一个实践建议:学完本章就把手头项目"环境化"——建一个 .venv、写一份 pyproject、把依赖锁住。这套动作二十分钟就能完成,却能把"在我机器上是好的"这类对话从你的职业生涯里永久删除。机制懂了,习惯跟上,工程化的门槛就跨过去了。
为后续铺垫:第 9 章 Web 框架与数据分析库的安装、脚本入口设计(__main__)、测试组织(tests 包)都依赖本章。