解压 Python-2.5.6.tgzhtml
进入 Pcbuild8 文件夹,使用 vs 2013 打开 pybuild.sln (vs 解决方案),进入 vs2015IDE 环境python
右键解决方案’pcbuild’ ⇒ 属性git
通用属性github
单启动项目 ⇒ 选择 pythonwindows
配置属性ui
首先编译 make_buildinfo 和 make_versioninfospa
分别右键 make_buildinfo/make_versioninfo ⇒ 仅用于项目 ⇒ 仅从新生成命令行
编译此解决方案,最终会在开始的 PCbuild8\Win32Debug文件夹下生成 python_d.exe 和 python25_d.dll 文件,可双击 python_d.exe,进入 python 命令行环境。编译中间应该有6个错误,解决方式以下,3d
timezone
这个宏再也不被vs2015支持,全部出现的地方都要替换为_timezone
,剩下的几个关于时间的编译错误也是如此加个下划线【_】就行了。错误都集中在 pythoncore下的timemodule里 line:687附近,也有几个其余的报错变量出现,位置也在这附近,处理方法一样是前面加下划线。项目的配置问题:主要是compiler编译出的中间文件名和linker使用的文件名不匹配,参考以前的错误报告, 须要在配置里设置
pythoncore
项目的输出文件名为$(PyDllName)_d
(右键pythoncore ⇒ 属性
)。code
总体流程同编译2.x版本,只是编译时错误不同,
编译解决方案时有可能会出错:windows sdk version 10.0.15063 was not found
,解决方案是根据Fix python 3.6 build failure with VS 2015 and WinSDK!=10.0.15063所说的方法,打开python.props
, 将第77行(3.6.5版本此处实际在77行后面一点),
<DefaultWindowsSDKVersion>10.0.15063.0</DefaultWindowsSDKVersion>
更改成,
<DefaultWindowsSDKVersion Condition="$(_RegistryVersion) == '10.0.15063'">10.0.15063.0</DefaultWindowsSDKVersion>
便可。