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,這三個文件的內容是最重要的,後面也主要是解析這三個文件夾的內容。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章