自发行版py之一. 在 VS2015 上编译Python 2.5.2

引言

本文是学习python源代码的入门章,参考的书本主要是2008年的《python源码剖析》,py2 系列在之后的版本变化不大,节约入门成本考虑还是继续用2.5.2。
下面主要描述如何在Win 10 x64, visual studio 2015 community 社区版上编译书中2008年的python 2.5.2

预先要求

  1. 安装vs2015 ,尽管vs2017已经在半个月前发布,不过编译器这些东西能用就行。
  2. 下载python source code,一般是个tar包;
    文件目录

流程

  1. 解压目录,并进入 PCbuild8目录,用vs2015打开pcbuild.sln 解决方案文件;之后要求升级操作,确认即可,完了会弹出一个升级报告的html文件,一般没有错误;
  2. 参考书本上设置的资料和通用流程

右键解决方案PCBuild(20个项目) ⇒ 属性
a. 通用属性
单启动项目 ⇒ 选择 python
b. 配置属性
左上角的【配置】⇒ Debug(Release 可能会报错)
项目上下文 ⇒ 仅选中 python/pythoncore
(4)首先编译 make_buildinfo 和 make_versioninfo
分别右键 make_buildinfo/make_versioninfo ⇒ 仅用于项目 ⇒ 仅重新生成

解决问题

对这样的最小系统,立即生成解决方案会报错,有两方面原因:
majorError

  1. timezone 这个宏不再被vs2015支持,所有出现的地方都要替换为_timezone ,剩下的几个关于时间的编译错误也是如此加个下划线【_】就好了。错误都集中在 pythoncore下的timemodule里 line:687附近。
  2. 项目的配置问题:主要是compiler编译出的中间文件名和linker使用的文件名不匹配,参考之前的错误报告, 需要在配置里设置pythoncore项目的输出文件名为$(PyDllName)_d
    配置目录输出文件名

  3. 设置完成后就可以顺利编译出python 最小系统了:最终运行效果
    里面包括的就是今天的时间。如果还有问题,那就仔细检查错误报告对应的位置,修好他。

大功告成~开心o( ̄▽ ̄)ブ

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值