pycharm生成.exe及Qt调用exe的一些问题
1、pycharm生成exe中的一些问题
首先流程是
pyinstaller -F -w main.py
这里可能会出现
01、maximum recursion depth exceeded
这是迭代次数不够导致的,解决方案是在生成的main.spec中添加部分代码(https://www.cnblogs.com/juehai/p/11762295.html、https://www.cnblogs.com/huipengbo/p/9856361.html)
1 import sys 2 sys.setrecursionlimit(5000)
然后pyinstaller -F main.spec
02、出现各种模块丢失,(pyinstaller -F -w *.py这里不能加上-w,如果加上就没有控制台了 看不到错误所在位置了),方法是找到main.spec的Analysis
代码块(一般在开头部分),在里面添加hiddenimports:hiddenimports=['numpy.core._dtype_ctypes']
(哪个module找不到就填哪个)。(我这里出现了NoModule named numpy.core._dtype_ctypes和NoModule named typedefs,注意这里添加typedefs时是添加全称sklearn.neighbors.typedefs )
1 hiddenimports=['numpy.core._dtype_ctypes','sklearn.neighbors.typedefs'],
2、Qt调用现有的程序(参考https://www.cnblogs.com/Romi/archive/2012/05/03/2480374.html)
1 #include <QProcess> 2 QProcess::startDetached("E:\\Qt\\qtcreator2.4.1\\bin\\qtcreator.exe",QStringList());//这里填入exe路径