Python源码学习笔记(一)编译与安装

本文作者:玄魂工作室--热热的蚂蚁

---------------------------------------------------------------------------------------

实验环境:centos 7

---------------------------------------------------------------------------------------

1.1 Python 源码安装

我们可以从官网下载你需要的对应版本的源码。下载链接:https://www.python.org/downloads/source/。

使用wget下载:

解压:

进入源码目录:

进入这个文件夹,看到的就是Python源码的目录结构。

安装(注意使用tree参数)

安装后的目录如下:

这里很有必要对几个重要的文件夹进行简单的介绍:

Include :该目录下包含了Python提供的所有头文件,若用户想自定义扩展模块,那么就要放到这个目录下了

Lib:包含了Python自带的所有标准库

Modules:包含了所有用C语言编写的模块,如:random,cStringIO等,对速度要求非常严格的模块

Parser:包含了Python解释器中的Scanner和Parser部分以及其他工具

Objects:包含了Python所有的内建对象,如:整数、list、dict等

Python: 包含了Python解释器中的compiler和执行引擎部分,是Python运行的核心

1.2 编译

回到刚解压的Python2.5目录,执行config命令:

然后执行 make命令

make编译完后,再执行make install。

按照一样的步骤,我又尝试安装了3.7版本。

本篇内容到此结束。《Python源码学习笔记》系列会持续更新,锁定“玄魂工作室”订阅号,不要离开。我是作者:热热的蚂蚁,你可以在 qq群:550218278 找到我。

下期内容预告《Python源码学习笔记(二)Python编译原理介绍》

本文分享自微信公众号 - 玄魂工作室(xuanhun521)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-07-25

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏搜云库

Linux下 标准错误输出重定向

Linux下” >/dev/null 2>&1 “相关知识说明 在学习Linux的过程中,常会看到一些终端命令或者程序中有”>/dev/null 2>&1 “出...

275100
来自专栏IT大咖说

基于 Swoft 协程框架的 PHP 微服务治理

内容来源:2018 年 05 月 27 日,Swoole开源项目创始人韩天峰在“【上海】OSC源创会第75期”进行《基于 Swoft 协程框架的 PHP 微服务...

1.4K40
来自专栏岑玉海

Hbase 学习(一) hbase配置文件同步

最近在狂啃hadoop的书籍,这部《hbase:权威指南》就进入我的视野里面了,啃吧,因为是英文的书籍,有些个人理解不对的地方,欢迎各位拍砖。 HDFS和H...

49960
来自专栏我就是马云飞

JJEvent 一个可靠的Android端数据埋点SDK

注:代码已经经过线上项目验证, 横向Google统计对比,统计数据无丢失,性能稳定.

48740
来自专栏魏艾斯博客www.vpsss.net

新购腾讯云主机安全组未放行导致网站、数据库无法访问

72320
来自专栏信安之路

绕过内容安全策略总结

今年的 0CTF 预选赛 6 道 web 题,其中三道都涉及 CSP 的知识点,简直可怕。。。这次趁着空闲时间就稍稍总结一下 CSP 绕过方面的知识,无论是对以...

27400
来自专栏微信公众号:Java团长

Dubbo入门——搭建一个最简单的Demo框架

在这里插播一条关于RPC的简介: RPC(Remote Procedure Call Protocol):远程过程调用: 两台服务器A、B,分别部署不同的应...

13020
来自专栏FreeBuf

通过Password Vault的XSS漏洞获取用户密码测试

大家好!自我上次写作以来到现在已经有段时间了。今天,我想和大伙分享一些非常有意思的内容。为了存储及管理的方便,相信大家可能都会选择使用一些密码管理器来存储不同网...

13130
来自专栏前端架构与工程

webpack多页面开发与懒加载hash解决方案

本文内容只适用于webpack v1版本,webpack v2已经修复了hash计算规则。 之前讨论了webpack的hash与chunkhash的区别以及各...

23480
来自专栏魏琼东

基于DotNet构件技术的企业级敏捷软件开发平台 - AgileEAS.NET - 会话

     会话从字面意义上来理解,是一次对话,在我们系统中怎么理解呢,会话就是一次交互,应和程序客户端和服务器端进行一个业务交互就是一个会话,会话生存与客户与服...

20060

扫码关注云+社区

领取腾讯云代金券