写点什么

《CPython Internals》阅读笔记:p43-p60

作者:codists
  • 2025-01-08
    广东
  • 本文字数:849 字

    阅读完需:约 3 分钟

《CPython Internals》学习第 3 天,p43-p60 总结,总计 18 页。

一、技术总结

1.编译所需要的 package

sudo apt install -y build-essential libssl-dev zlib1g-dev libncurses5-dev \libncursesw5-dev libreadline-dev libsqlite3-dev libgdbm-dev \libdb5.3-dev libbz2-dev libexpat1-dev liblzma-dev libffi-dev
复制代码


其实我比较好奇作者列的这些 package 是根据经验还是根据什么列的,是否有遗漏?网上看的很多文章也没有说一个基本的编译有多少个 package 是必需的,反正如果编译的时候报错就根据错误继续安装。感觉是列不列出这些 package 的效果都差不多。这里先记录一下。

2.编译流程

  • 执行 configure 脚本


cpython# ./configure 
复制代码


configure 文件是 shell 脚本。执行 configure 脚本的作用是让 autoconf 在系统中搜索 CPython 需要的库,并将它们的路径复制到 Makefile 文件中。执行 ./configure 命令会在 cpython 目录下生成一个 Makefile 文件。


  • 编译


make -j$(nproc)
复制代码


-j:job 的缩写,(nproc) 命令会得到一个 python 可执行文件。


  • 安装


make altinstall
复制代码

3.关于 confiure 的一点说明

p47, To compile CPython on Linux, you first need to download and install make, gcc, configure, and pkgconfig.

这这句话中,make、gcc、pkgconfig 是 tool,configure 是 cpython 目录下的一个文件。configure 本来就在项目里面,不知道作者为什么要说 download and install configure,真的不严谨。

二、英语总结(生词:0)

无。


关于英语的注解同步更新汇总到 https://github.com/codists/English-In-CS-Books 仓库。

三、其它

Compiling CPython 章节简评:本章讲编译流程,稍显啰嗦,也没有什么新奇的见解。

四、参考资料

1. 编程

(1) Anthony Shaw,《CPython Internals》:https://book.douban.com/subject/35405785/

2. 英语

(1) Etymology Dictionary:https://www.etymonline.com


(2) Cambridge Dictionary:https://dictionary.cambridge.org


欢迎搜索及关注:编程人(a_codists)

发布于: 刚刚阅读数: 6
用户头像

codists

关注

公众号:编程人 2021-01-14 加入

Life is short, You need Python

评论

发布
暂无评论
《CPython Internals》阅读笔记:p43-p60_CPython Internals_codists_InfoQ写作社区