1. 程式人生 > 實用技巧 >pycharm生成.exe及Qt呼叫exe的一些問題

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.htmlhttps://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路徑