我是靠谱客的博主 缓慢茉莉,最近开发中收集的这篇文章主要介绍python具有可嵌入性_如何构建可嵌入Python,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

最近,我不得不为64位的python3.5.6构建一个可嵌入的zip(因为官方下载页面没有为超过3.5.4的Python提供它们),下面是步骤。在

先决条件(一次性安装)

安装吉特

乌龟

VisualStudioC++构建工具2015(在构建最新的Python版本时,您可能需要版本2017)1

如果您还没有Sphinx,请安装它并将sphinx-build添加到PATH2:> python -m pip install user sphinx

> set PATH=%PATH%;C:UsersjenkinsAppDataRoamingPythonPython35Scripts

如果尚未安装blurb,请安装它,必要时将blurb添加到PATH(如果您已经完成了上一步,那么您已经拥有了正确的PATH):> python -m pip install user blurb

> set PATH=%PATH%;C:UsersjenkinsAppDataRoamingPythonPython35Scripts

配置生成环境克隆CPython repo。在这里,我只克隆我需要的标记:> git clone depth 1 branch v3.5.6 https://github.com/python/cpython

在repo dir中,生成NEWS文件3,4:> blurb merge -f MiscNEWS

构建

现在可以触发构建:> Toolsmsibuildrelease.bat -x64 skip-nuget test testout

如果目标是32位arch,则将-x64替换为-x32。skip-nuget将忽略生成MSI安装程序。test testout将触发安装程序测试;如果需要,可以跳过它们。在

一旦构建完成,检查构建工件PCbuildamd64en-uspython-3.5.6-embed-amd64.zip。这是你的嵌入式拉链。在

构建第一次成功后,只要doc构建工件仍在repo中,就可以在以后的构建中跳过doc构建以进一步加速:> Toolsmsibuildrelease.bat -x64 skip-doc skip-nuget test testout

1请确保在VC++Build Tools安装程序中选择“Custom”,并选中所有选项;否则,可能会出现生成错误,如The code execution cannot proceed because ucrtbased.dll was not found等。我不是Windows专家,只是安装了所有可能的东西来消除错误。在

2查看buildrelease.bat帮助,似乎可以跳过带有skip-doc标志的文档构建,但使用该标记时,我得到了错误"C:UsersjenkinsprojectscpythonToolsmsibundlereleaselocal.wixproj"

(Rebuild target) (1) ->

"C:UsersjenkinsprojectscpythonToolsmsidocdoc.wixproj" (Rebuild target) (7) ->

(Link target) ->

C:UsersjenkinsprojectscpythonToolsmsidocdoc_files.wxs(8): error

LGHT0103: The system cannot find the file 'python356.chm'. [C:UsersjenkinsprojectscpythonToolsmsidocdoc.wixproj]

生成会因错误而中止。如果您设法在没有初始doc构建的情况下绕过这个问题(因此doc文件在build dir中可用),您可以跳过Sphinx安装。在

3否则,我得到构建错误"C:UsersjenkinsprojectscpythonToolsmsibundlereleaselocal.wixproj" (Rebuild target) (1) ->

"C:UsersjenkinsprojectscpythonToolsmsiexeexe.wixproj" (Rebuild target) (8) ->

C:UsersjenkinsprojectscpythonToolsmsiexeexe_files.wxs(9): error

LGHT0103: The system cannot find the file '!(bindpath.src)MiscNEWS'. [C:UsersjenkinsprojectscpythonToolsmsiexeexe.wixproj]

4您可以用一个适当的make调用来替换该命令,但是我太懒了,无法解读DocMakefile。毕竟,新闻无论如何也不会在可嵌入的zip中出现;这只是为了让buildrelease.bat高兴。在

最后

以上就是缓慢茉莉为你收集整理的python具有可嵌入性_如何构建可嵌入Python的全部内容,希望文章能够帮你解决python具有可嵌入性_如何构建可嵌入Python所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(48)

评论列表共有 0 条评论

立即
投稿
返回
顶部