如果我想将 Python 嵌入到 C++ 程序中,我应该在我的程序文件夹中放啥?

Posted

技术标签:

【中文标题】如果我想将 Python 嵌入到 C++ 程序中,我应该在我的程序文件夹中放啥?【英文标题】:What should I put in the folder of my program if I want to embed Python to a C++ program?如果我想将 Python 嵌入到 C++ 程序中,我应该在我的程序文件夹中放什么? 【发布时间】:2016-03-31 10:03:48 【问题描述】:

我用 Qt 编写了一个程序,并在其中嵌入了一个 .py 文件来做一些工作。

在我安装了 Python 解释器的电脑上,程序可以正常运行,但是当我在室友的电脑上运行它时,它安装了 NO Python 解释器,程序崩溃了。

用Qt编写的部分运行良好,但是当我按下按钮调用.py做一些工作时,程序崩溃了。

我认为问题在于我没有将std库和Python的其他一些关键文件放入我的程序文件夹中,但我不知道我应该打包什么文件。

所以如果问题真的是我想的那样,我应该怎么做才能解决它?

哪些Python文件应该打包成程序在没有Python解释器的PC上运行?

提前致谢。

------------更新------ 至于 Python 的代码,它只是一个测试和学习的 hello-world。我将整个 Python34 文件夹复制到程序中,问题已经解决:)。虽然它可能不是正确的方法,但它确实有效。

【问题讨论】:

只要求您的用户安装了 Python。此外,请注意不要将其与您的项目打包在一起 - 可能存在许可问题。 您是在使用pyinstaller 之类的东西,还是尝试手动执行此操作? 显示你的python代码,并复制并粘贴失败时显示的回溯 【参考方案1】:

Python 的文档有一个C/C++ API 的参考手册。 我相信您所指的文件是Python.h,尽管我不是这方面的专家。嵌入 C 比 C++ 容易得多,this 提供了一些更简单的示例。据我所知,您不必担心编译成可执行文件的解释器。

【讨论】:

以上是关于如果我想将 Python 嵌入到 C++ 程序中,我应该在我的程序文件夹中放啥?的主要内容,如果未能解决你的问题,请参考以下文章

在 Python GUI 中嵌入 C++ 程序

从 C++ 停止嵌入式 Python 提示符

是否可以将 C++ 小部件嵌入到 PyQt 应用程序中?

将 Java 嵌入到 C++ 应用程序中?

将 Java 嵌入到 C++ 应用程序中?

我想将使用 VTK、C++ 和 QT 开发的桌面应用程序移植到 Web 应用程序