Python源码下载和目录简介

Python源码下载和目录简介

一、Python源码下载

注:因为笔者学习的是Python3.7.4版本的源码,所以就以3.7.4版本为例进行讲解。

本文参考链接:https://flaggo.github.io/python3-source-code-analysis/preface/code-organization/

最佳方式:去Python官网下载——官网链接:https://www.python.org/downloads/release/python-374/

1、Linux操作系统下使用终端命令下载:

wget https://www.python.org/ftp/python/3.7.4/Python-3.7.4.tgz   // 获取源码压缩包
tar -xf Python-3.7.4.tgz    // 解压

2、非Linux操作系统下载:

(1)进入官网https://www.python.org/downloads/release/python-374/

(2)滑到最下面,会有如下操作系统版本下载,前两个就是源码包(分别为gz和xz的压缩包),下载第一个Gzipped source tarball(直接点击第一个的名字即可下载)。

(3)解压下载的Python-3.7.4.tgz即可

二、源码目录简介

解压好之后得到的Python-3.7.4文件夹中有如下文件

.
├── aclocal.m4
├── CODE_OF_CONDUCT.rst
├── config.guess
├── config.sub
├── configure
├── configure.ac
├── Doc
├── Grammar
├── Include
├── install-sh
├── Lib
├── LICENSE
├── m4
├── Mac
├── Makefile.pre.in
├── Misc
├── Modules
├── Objects
├── Parser
├── PC
├── PCbuild
├── Programs
├── pyconfig.h.in
├── Python
├── README.rst
├── setup.py
└── Tools

我们不用关注所有的文件和文件夹,如下

.
├── Doc        //文档相关
├── Grammar    //语法规则
├── Include    
├── Lib        //标准库(都是用Python编写的)
├── Modules
├── Objects
├── Parser
├── PCbuild
├── Programs
└── Python

其中:

Include 目录:包含了 Python 提供的所有头文件,如果用户需要自己用 C 或 C++来编写自定义模块扩展 Python,那么就需要用到这里提供的头文件。

Modules 目录:包含了所有用 C 语言编写的模块,比如 math、hashlib 等。它们都是那些对速度要求非常严格的模块。而相比而言,Lib 目录下则是存放一些对速度没有太严格要求的模块,比如 os。

Objects 目录:包含了所有 Python 的内建对象,包括整数、list、dict 等。同时,该目录还包括了 Python 在运行时需要的所有的内部使用对象的实现。

Parser 目录:包含了 Python 解释器中的 Scanner 和 Parser 部分,即对 Python 源代码进行词法分析和语法分析的部分。除此以外,此目录还包含了一些有用的工具,这些工具能够根据 Python 语言的语法自动生成 Python 语言的词法和语法分析器,与 YACC 非常类似。

PCbuild 目录:包含了 Visual Studio 2003 的工程文件,研究 Python 源代码就从这里开始(本书将采用 Visual Studio 2017 对 Python 进行编译)。

Programs 目录:包含了 Python 二进制可执行文件的源码。

Python 目录:包含了 Python 解释器中的 Compiler 和执行引擎部分,是 Python 运行的核心所在。

注:其中IncludePythonObjects,这三个文件的内容是最重要的,后面也主要是解析这三个文件夹的内容。

posted @ 2020-11-13 15:33  Kwan、C  阅读(3770)  评论(0编辑  收藏  举报