pycharm生成.exe及Qt呼叫exe的一些問題
阿新 • • 發佈:2020-09-16
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 namednumpy.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路徑