- Windows 10 x64;
- Visual Studio 2019(必须安装在默认路径下面.同时需要安装C++开发组件和Python开发组件);
- (可选)用作引导的Python(最好和要编译的Python,版本号接近)
后面两个地址可能发现改变,请以CPython官方Github仓库介绍为准.
# cmd或者PowerShell
# -b 为选择指定标签.
git clone -b v3.10.0a4 https://github.com/python/cpython.git
# cmd或PowerShell
/PCbuild/build.bat
网络原因,导致依赖下载失败.
此操作需要从Github.com中下载相关依赖,可能多次失败.也可以手动下载依赖,放到/externals目录里面.
例如,可以先在/PCbuild目录的get_external.py文件
def fetch_zip(commit_hash, zip_dir, *, org='python', binary=False, verbose):
repo = f'cpython-{"bin" if binary else "source"}-deps'
url = f'https://github.com/{org}/{repo}/archive/{commit_hash}.zip'
下面增加输出下载地址:
print(url)
拿到下载地址后,就可以解压放到/externals里面.
/externals里面的文件命名参考(下载解压后,需要修改文件名为如下格式):
- sqlite-3.33.0.0
- tcltk-8.6.10.0
可以有两种方式.
依赖安装成功后,可以在Visual Studio中找到如下解决方案文件.
pcbuild.sln
之后就可以直接在Visual Studio中进行开发调试了.
如果需要构建成可执行文件(.exe),则需要通过/Tools/msi/build.bat进行构建.
下面的命令表示构建一个测试包,在x64位系统上运行,包含Python文档:
# cmd或者PowerShell
/Tools/msi/build.bat -x64 --doc
构建成功后,构建结果在: /PCbuild/amd64/en-us 目录中.
关于/Tools/msi/build.bat
命令的更多参数,可以使用/Tools/msi/build.bat -h
进行查看.
构建发行包需要使用/Tools/msi/buildrelease.bat
脚本,参数和/Tools/msi/build.bat
类似.
官方构建的发行包,包含了代码签名证书.
所以,我们构建的时候,也可以传入证书相关信息(我没试..).
# cmd或者PowerShell
/Tools/msi/buildrelease.bat -x64 -D
-D 跳过重建文档.文档是发行版所必需的,如果整合不可用,则构建失败.
更多命令,依然可以使用/Tools/msi/buildrelease.bat -h
来查阅.
构建完成后,就可以把exe安装包放到一台新电脑上试一下了.
- 2021-01-24 初次整理.