admin管理员组文章数量:1435859
文章目录
- 目标
- 环境准备
- VS 2022
- cpython源码
- 终端加速工具
- 编译
- 具体步骤
- 注意事项
- 参考资料
目标
- 编译生成如同官网安装的python一般的exe文件
环境准备
无论是IDE、开发组件或者第三方库,本人的观点是”越新越好“,当然有时存在某个版本出现框架重构的情况,这就需要自己斟酌了。
VS 2022
-
工具选择
勾选如下图所示
-
.NET SDK安装
如下图所示,二选一
cpython源码
本文以python3.10.12为例子。python官网通知自该版本后 Python 3.10进入"security fixes only" 阶段。
终端加速工具
该工具不是必须,没有就多试几次。
编译
具体步骤
- 1 解压或者
git checkout v3.10.12
- 2 进入源码根目录里面的
PCBuild
文件夹下 - 3 执行
.\get_externals.bat
- 4 进入
Tools\msi
并执行.\get_externals.bat
命令
- 5 执行
.\buildrelease.bat -h
根据展示的命令选择编译路径,32或64位等参数。其中-o
输出路径最好在PCbuild文件夹下(否则会有问题,可以试一试)。
注意事项
- 步骤3和步骤4使用
NuGet
下载编译时依赖的工具、库等 - 在执行步骤5时,你最好使用虚拟python环境,如下图所示
环境中的包是执行编译时自动下载的,这也说明你也需要一个python环境。 - 步骤3、4和5可以只保留5,但考虑存在网络波动拆分为三部分。
- 我在文章开头放了我编译好的,种种原因zip文件竟然不能上传。
- 后续应该会更新安装包。
- 错误:PrepareForBuild:
externals\windows-installer\wix\wix2010.targets(735,5): error MSB4062: 未能从程序集 D:\Build\Python-3.10.13\externals\windows-installer\wix\WixTasks.dll 加载任务“ResolveWixReferences”。未能加载文件或程序“Microsoft.Build.Utilities, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”或它的某一个依赖项。系统找不到指定的文件。 请确认 声明正确,该程序集及其所有依赖项都可用,并且该任务包含实现 Microsoft.Build.Framework.ITask 的公共类。
解决方法:开启.NET Framework 3.5
参考资料
- cpython
- 为Windows编译Python安装包
版权声明:本文标题:windows 环境下编译Python源码(Python3.10.12) 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/biancheng/1725049189a994509.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论