最近,在看《Python源码剖析》这本书。下载了当前最新版本的Python2.7.14进行编译运行一下。因为我当前电脑配置是WIN10+VS2015,在这里就记录一下该环境下编译运行的过程。
因为Python-2.7.14\PCbuild下面的脚本文件get_externals.bat需要用到SVN,所以先安装Subversion For Windows。然后运行get_externals.bat下载编译需要的额外包。
接下来,打开VS2015,导入Python的工程文件。
导入项目源码之后,因为只编译python和pythoncore,需要再设置一下。进入如下目录:
然后设置只编译python和pythoncore:
好了,编译试一试。
出现了好几个错误。由于 VS2015 取消了 timezone
的定义,改为 _timezone
,所以代码里面用到 timezone
的地方都要改成 _timezone,daylight和tzname以一并修改为_daylight和_tzname。继续编译,发现有两个链接错误。如下图所示:
最后这个链接错误,可以看下这个Issue25759。链接错误我木有解决,因为在VS2010中编译成功了,本着也只是看看源码实现,暂时问题就搁这里了。