# 2.1 源代码里有什么？

CPython 发行版本包含了大量的工具、库和组件。你将在本书中探索这些内容。

{% hint style="info" %}
**注**

本书的 CPython 源代码版本是 3.9。
{% endhint %}

为了下载 CPython 源代码，你可以使用 \`[git](https://git-scm.com/)\` 来拉取最新的版本：

```bash
$ git clone --branch 3.9 https://github.com/python/cpython
$ cd cpython
```

本书中的所有示例基于 Python 3.9 版本。

{% hint style="info" %}
**重要**

切换到 3.9 分支是一个重要的步骤。主干分支每小时就会更改一次。这本书中的许多例子和练习不太可能在主干分支上起作用。
{% endhint %}

{% hint style="info" %}
**注**

如果你的计算机上没有可用的 Git，则你可以从 [git-scm.com](https://git-scm.com/) 安装它。或者，你可以直接从 GitHub 网站下载一个含 CPython 源码的 ZIP 压缩包。

如果你用 ZIP 压缩包的方式下载源码，则它将不包含任何历史记录、标签或者分支信息。
{% endhint %}

在新下载的 `cpython` 目录中，你会看到如下图所示的子目录：

图片翻译：

Doc：文件来源

Grammar：计算机可读的语言定义

Include：C 头文件

Lib：用 Python 编写的标准库模块

Mac：macOS 支持文件

Misc：其他文件

Modules：用 C 编写的标准库模块

Objects：核心类型和对象模型

Parser：Python 解析器源码

PC：用于 Windows 旧版本的 Windows 构建支持文件

PCBuild：Windows 构建支持文件

Programs：python 可执行文件和其他二进制文件的源代码

Python：CPython 解释器源码

Tools：用于构建或扩展 CPython 的独立工具

m4：用于自动配置 makefile 的自定义脚本

接下来，你将设置你的开发环境。
