[英]Deploying application with Python or another embedded scripting language
我正在考虑在用C ++编写的业余爱好项目中使用Python作为嵌入式脚本语言 。 我不想依赖单独安装的Python发行版。 Python文档似乎很清楚一般用法,但我找不到明确的答案。
用我的应用程序部署Python解释器+标准库是否可行? 像Lua,Javascript(Spidermonkey),Ruby等其他语言会更好用于此用途吗?
这是我正在权衡不同语言的标准:
编辑:
我想问题应该是:如何使用我的程序的安装程序部署我自己的python库+标准库,这样平台是否已经安装了python并不重要?
EDIT2:
再澄清一下。 我不需要有关链接C和Python代码的细节的信息。
将您的应用程序链接到python库(Windows上的pythonXX.lib)并将以下内容添加到main()函数中。
Py_NoSiteFlag = 1; // Disable importing site.py
Py_Initialize(); // Create a python interpreter
将您需要的python标准库位放入一个zip文件(名为pythonXX.zip)中,并将此pythonXX.dll放在您分发的可执行文件旁边。 在zipfile模块中查看PyZipFile。
嵌入过程已完整记录: 在另一个应用程序中嵌入Python 。 这些文件提出了嵌入工作的几个层次,选择最符合您要求的层次。
可以在源代码分发的Demo / embed目录中找到嵌入Python的简单演示。
这个演示在这里 ,应该能够从发行版构建。
- 非常高级嵌入
- 超高级嵌入:概述
- 纯嵌入
- 扩展嵌入式Python
- 在C ++中嵌入Python
从标准库中,您可以选择不具有过多依赖性的组件。
要通过gimel扩展答案,没有什么可以阻止您运送python.dll,使用它,并设置正确的PYTHONPATH以便使用您自己的python标准库安装。 它们只是库和文件,您的安装过程可以只处理它们。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.