使用嵌入python的pyqt构建windows可执行文件
我正在尝试制作一个运行一些python代码的windows应用程序,或多或少类似于py2exe手工制作的程序。 我的应用程序应该在没有任何外部python依赖项(甚至解释器)的windows上运行 我已经测试过这个(main.cpp): 问题是,当我运行build.exe文件时,出现以下错误:使用嵌入python的pyqt构建windows可执行文件,python,c,pyqt,Python,C,Pyqt,我正在尝试制作一个运行一些python代码的windows应用程序,或多或少类似于py2exe手工制作的程序。 我的应用程序应该在没有任何外部python依赖项(甚至解释器)的windows上运行 我已经测试过这个(main.cpp): 问题是,当我运行build.exe文件时,出现以下错误: Traceback (most recent call last): File "<string>", line 1, in <module> SystemError: dyn
Traceback (most recent call last):
File "<string>", line 1, in <module>
SystemError: dynamic module not initialized properly
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
系统错误:动态模块未正确初始化
因此,我不知道使用.pyd文件需要进行何种初始化。
最后是我的问题:
- 我做错了什么
- 如果我需要某种额外的初始化,我该怎么做?为什么需要它?也许这是Qt绑定固有的东西
- 我是否应该将另一个*pyd文件复制到应用程序的工作目录
- 这种直接使用.pyd文件的方法可行吗?还是有更好的方法来制作我想要的应用程序
注意:我不想使用任何工具,如py2exe、cx_Freeze、pyinstaller等。我想自己构建应用程序。我在PyQt的安装中看到还有一个
Qt.pyd
文件。也许您可以尝试将其添加到您的捆绑包中?好的,我目前正在使用linux,但稍后我会尝试,谢谢
#include <Python.h>
int main(int argc, char *argv[]) {
Py_SetProgramName(argv[0]);
Py_Initialize();
PyRun_SimpleString("import QtGui as gui\n"
"\n"
"app = gui.QApplication([])\n"
"mw = gui.QMainWindow()\n"
"mw.show()\n"
"print \"Test\"\n"
"app.exec_()");
Py_Finalize();
return 0;
}
Traceback (most recent call last):
File "<string>", line 1, in <module>
SystemError: dynamic module not initialized properly