首页 > 解决方案 > 在 Win10 上从源代码构建 python 3.6.6

问题描述

我已经从这里下载了 python 3.6.6 源... https://www.python.org/downloads/release/python-366/ ...并按照如何在 Windows 上构建的说明进行操作(运行 .. /PCbuild/build.bat)。Python 编译并且似乎正在工作(有趣而可怕:在获取外部文件时,它实际上下载了 python-3.7.0 作为依赖项......:/)。但是,看起来构建以某种方式“就位”,并且二进制文件最终位于源的某个子文件夹(../PCbuild/amd64/python.exe)中。这意味着我留下了混合的源代码和编译代码,而不是一些干净/精简和可部署的包。

或者一般来说,有没有办法让构建过程更像 linux 上的行为?

谢谢你的帮助,马克斯

标签: pythonwindowspython-3.xcompilationwindows-10

解决方案


PCBuild 的 build.bat 适用于开发人员,即用于测试目的。你想要的在\Tools\msi\buildrelease.bat. 这将创建一个子目录,\PCBuild\用于放置所有 msi、cab 和 exe 文件以供以后安装。根据自述文件,似乎没有一个选项可以将所有这些文件打包到一个 .exe 文件中,就像所有安装程序最终都会做的那样,但是另一个选项是\Tools\msi\build.bat有打包选项(即build.bat --pack)。“但是”,自述文件确实声明buildrelease.bat应该用于正式发布。这样做的好处是 Pyhton 将使用 PGO 对您自己的硬件进行优化。我也尝试使用这种方法从源代码编译,但我遇到了一个反复出现的错误(和其他错误)的问题:

PGO run did not succeed (no python36!*.pgc files) and there is no data to merge [E:\RepoGiT\3.6\PCbuild\pythoncore.vcxproj]

所以,如果你确实走这条路,发现这个或其他错误,请将错误报告发送到 python 的错误跟踪器网页。更好的是,如果您发现错误及其解决方案,请在此处报告!


推荐阅读