python3.6.5源代码编译全过程记录

环境win10 64位+VS2017 社区版

python源码版本Python-3.6.5

工程目录在PCbuild——pcbuild.sln

python3.6.5源代码编译全过程记录一开始看该目录下的readme.txt 可以执行build.bat -e 进行build:

python3.6.5源代码编译全过程记录

遇到问题如下:

  1. d:\windows kits\10\include\10.0.17134.0\um\winnt.h(154): fatal error C1189: #error:  "No Target Architecture" [F:\CodeBlockProject\Python-3.6.5\PCbuild\pythoncore.vcxproj] 解决办法参考https://blog.****.net/ultimatestudio/article/details/15998617
  2. D:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\VC\VCTargets\Platforms\Win32\PlatformToolsets\v141\Toolset.targets(34,5): error MSB8036: 找不到 Windows SDK 版本10.0.15063.0。请安装所需的版本的 Windows SDK 或者在项目属性页中或通过右键单击解决方案并选
    择“重定解决方案目标”来更改 SDK 版本。 [F:\CodeBlockProject\Python-3.6.5\PCbuild\pythoncore.vcxproj]  解决办法参考 https://blog.****.net/weixin_38285131/article/details/78082979?locationNum=10&fps=1 

此路不通,就打开pcbuild.sln,按照python源码剖析书中描述:执行一下VS配置

  1. 右键解决方案选择单启动项目 python 图一
  2. 在配置属性 配置里只选择python pythoncore(”由于我们剖析的只是Python的核心部分,不会涉及到工程中的一些标准库和其他的模块,所以我们需要将它们从编译的列表中删除。“) 图二
图一python3.6.5源代码编译全过程记录

图二

python3.6.5源代码编译全过程记录

编译,还是出现问题1、2。

问题解决后PCbuild win32 目录下生成debug版的python

python3.6.5源代码编译全过程记录