在Win10上从源代码构建python 3.6.6

时间:2018-09-10 06:55:14

标签: python windows python-3.x compilation windows-10

我已经从此处下载了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上一样以某种方式提供“ --prefix=/target/build/path”来定义要构建的目标位置吗?
  • 是否可以删除所有src文件/文件夹,而仅保留所需的文件/文件夹(../lib、../include等...)。

或者总的来说,有没有一种方法可以使构建过程的行为更像Linux?

感谢您的帮助, 最高

1 个答案:

答案 0 :(得分:0)

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

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

因此,如果您确实走了这条路线,并且发现了此错误或其他错误,请将错误报告发送至python的错误跟踪器webpage。而且更好的是,如果您发现错误及其解决方法,请在此处报告!