如何在未安装 python 的系统上执行嵌入了 python 代码的 C++ 代码

2024-01-04

我正在尝试使用 C++ 和 Python 嵌入创建一个简单的游戏。 python 代码嵌入在我的 C++ 代码中。我为此使用了 Python/C API。 我想实现两个目标:

1)应用程序应该能够在没有安装Python的计算机上运行。

2) 应用程序应该是一个独立的可执行文件(.exe)

例如,以下简单代码仅在系统已安装 python 的情况下才有效:

#include <Python.h>
#include <conio.h>
#include <stdio.h>

int main()
{
char pySearchPath[] = "Python27"; 
Py_SetPythonHome(pySearchPath); 

Py_Initialize();
PyRun_SimpleString("print 'Hello World'");
PyRun_SimpleString("for i in range(5):\n"
    "\tprint i,\n");
Py_Finalize();
getch();
return 0;
}

Python 需要安装在计算机上,或者这些文件应位于可执行文件的目录中:

        python27.dll
        Python27\
            DLLs\ (contents of DLLs folder)
            Lib\ (contents of Lib folder)

Question:我如何在我的文件中包含/添加/绑定这些文件.exe这样我的应用程序就可以在没有安装 python 的系统上执行?我想要一个独立的可执行文件。是否可以?如果是,那么请提供一些关于如何实现这一目标的提示?我已经投入了大量时间在互联网上搜索,但不幸的是我没有找到任何有用的东西。

可能还有其他可能性来解决这个问题,但我不确定。例如下面的方法可以吗?

Python代码----转换---->字节码----->本机代码----->导入程序

UPD:使用 Cython 我生成 .pyd 文件(.dll)。如何从其生成 .h 文件或调用我的应用程序中的某些函数(当然,如果可能的话)?

谢谢。


是的,您可以将 python 嵌入到 C++ 中。 谷歌给我提供了两个我认为对你有用的链接。我不确定您是否已经知道这些链接,因为您在有关您的研究的问题中没有提及。

http://www.codeproject.com/Articles/11805/Embedding-Python-in-C-C-Part-I http://www.codeproject.com/Articles/11805/Embedding-Python-in-C-C-Part-I此链接有关于此主题的两部分教程。

http://realmike.org/blog/2012/07/05/supercharging-c-code-with-embedded-python/ http://realmike.org/blog/2012/07/05/supercharging-c-code-with-embedded-python/此链接也在讨论同一主题。

基本上避免在答案中粘贴站外链接。但不幸的是,你的问题的答案太长了,我不得不在这里提供链接。对此感到抱歉。为了安全起见,您应该从这些链接下载整个教程,这样您将来就不会因为教程离线而后悔!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在未安装 python 的系统上执行嵌入了 python 代码的 C++ 代码 的相关文章

随机推荐