首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

VS2015重新编译Python3源代码记录

还是以简单案例说明重新编译Python源代码能做什么吧,一个是为了从源代码角度学习Python的运行机制,一个是为了可以从C语言的角度来扩展开发Python,文章《【Python研发】从小整数对象池切入对C语言源码的理解》中提到小整数对象池的范围为[-5, 257),这里我将源代码中这个范围修改为[0, 1000),然后重新编译源代码就会得到一个新的Python版本实现我想要的效果

可以看到这和官方的Python版本输出的结果已经不同了,实际如果你对C语言编程有一定的火候的话,可以在源代码中插入任何你想要的代码,下面来看如何重新编译Python的源代码

首先笔者的操作系统是Win7 x64位,安装了Visual Studio Professional 2015 Update 3,可以从https://www.python.org/官网下载Python 3.6.2的源代码

找个路径解压,比如C:\Python-3.6.2,可以看到其中有个叫PCbuild的文件夹,这就是VS工程,用文本编辑器打开PCbuild\readme.txt文件,就可以看到它可以使用什么版本的Visual Studio来编译,所以这里不局限于这个版本的源代码,只要安装了支持的对应Visual Studio版本就可以

下载安装hg,为了安装第三方支持的库

然后运行PCbuild\get_externals.bat文件下载第三方支持,下载完在externals文件夹中会出现如下的文件夹,我这里已经安装过了,所以会一闪而过,这里下载取决于网络,很大情况下下不下来,要么多运行几次PCbuild\get_externals.bat,要么自己去谷歌找对应版本文件下载(折腾吧)

如果你也使用Python 3.6.2这个版本的话,也可以直接下载笔者下载好的文件,解压到externals文件夹就可以了,而不用通过上面的方法来下载

然后使用Visual Studio 2015打开PCbuild\pcbuild.sln工程文件

右键Solution选择最后一项Properties进行编辑,选择Configuration Properties>Configuration,将其中所有勾全去掉,只保留python、python3dll、pythoncore三项的勾

所有配置都已经完成,此时来修改源代码,找到pythoncore>Objects>longobject.c打开,修改代码第13,16行

然后右键Solution选择Build Solution,成功编译会在PCbuild\amd64文件夹中找到python.exe,运行就是图一中的效果

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180115G00REB00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券