Python PyInstaller exe仅在从cmd运行时工作

Python PyInstaller exe仅在从cmd运行时工作,python,windows,pyinstaller,Python,Windows,Pyinstaller,我正在尝试将我编写的python工具打包到一个exe文件中,以便在Windows 10上使用。据我所知,exe是正确构建的。如果我从命令行运行它,它会加载,并且一切正常 但是,如果我尝试从资源管理器运行该工具(双击图标),则会出现“无法执行脚本”错误。我曾尝试使用--debug开关构建它,希望能在cmd关闭之前快速捕获任何输出,但它太快了 我用于构建该工具的行是: pyinstaller.exe --onefile --debug --console --icon=C:\Users\Ross\D

我正在尝试将我编写的python工具打包到一个exe文件中,以便在Windows 10上使用。据我所知,exe是正确构建的。如果我从命令行运行它,它会加载,并且一切正常

但是,如果我尝试从资源管理器运行该工具(双击图标),则会出现“无法执行脚本”错误。我曾尝试使用--debug开关构建它,希望能在cmd关闭之前快速捕获任何输出,但它太快了

我用于构建该工具的行是:

pyinstaller.exe --onefile --debug --console --icon=C:\Users\Ross\Desktop\gtt\assets\icon.ico --hidden-import xlrd gtt.py
在我开始使用reportlab模块之前,它工作得非常好:

from reportlab.lib import colors
from reportlab.lib.enums import TA_CENTER
from reportlab.lib.pagesizes import letter, portrait
from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle
from reportlab.lib.units import inch
from reportlab.platypus import SimpleDocTemplate, Table, TableStyle, Paragraph, Spacer
当我使用调试开关运行命令行时,该命令行绝对不提供有关错误的输出:

我尝试了以下方法,但没有任何效果

  • --努普克斯
  • --奥涅迪尔
  • --一档
总而言之,为什么PyInstaller exe文件在从命令行而不是从Windows GUI运行时可以工作

编辑:问题似乎与PyQt4有关。我回到了一个commit,从tkinter切换到Qt,问题仍然存在。上一个版本,使用tkinter,可以从GUI中正常加载。

我想出来了

我必须将gui.ui文件转换成一个包

  • 我创建了包“gui”,其中包含一个空的_uinit__uuu.py
  • 我运行
    pyuic4 gui.ui-o gui.py
    将gui.ui代码转换为Python
  • 我将gui.ui和gui.py文件都移动到gui目录中
  • 在我的主程序代码中,我导入了模块:
    from gui.gui import*
  • 希望这对其他人有帮助