Pyinstaller .exe不会产生预期的结果

时间:2018-04-20 20:33:18

标签: python exe pyinstaller

这是我第一次使用pyinstaller在Windows机器上构建.py的.exe。我已成功生成.exe,但是当我运行代码时,它不会生成我的代码应生成的.csv文件。

另一方面,当我在IDE中运行我的脚本时,它成功生成了我期望的.csv。底部是我的代码中应该生成输出的部分。

writer = pd.ExcelWriter('Desired_Output.xlsx', engine= 'xlsxwriter')
df3.to_excel(writer, sheet_name='Output')

#Get the xlsxwriter workbook and worksheet objects
workbook = writer.book
worksheet = writer.sheets['Output']

# Add some cell formatting and save the contents
format1 =  workbook.add_format({'left': 1, 'right': 1, 'top': 1, 'bottom': 1, 'bg_color': 'gray' })
format2 = workbook.add_format({'bottom': 1})
format3 = workbook.add_format({'bottom': 1, 'font_size': 7, 'bg_color': '#98FB98'})
format4 = workbook.add_format({'right': 1, 'bottom': 1})
worksheet.set_column('B:B', 12, format1)
worksheet.set_column('C:N', 8, format2)
worksheet.set_column('L:L', 6, format3)
worksheet.set_column('N:N', 8, format4)
writer.save()

在命令提示符下运行时,我收到错误 没有模块xlsxwriter,但是当我尝试运行pip安装它说我已经在运行xlsxwriter

1 个答案:

答案 0 :(得分:1)

程序可能无法正常运行,因为.exe未正确捆绑,或者应用程序可能正在关闭,因为它无法导入包或查找外部文件,从而导致应用程序无法启动。若要查看与运行可执行文件关联的错误消息,请从命令提示符处运行.exe文件:/path/to/app/dist/MyApp.exe(在命令提示符下)。这将允许您观察捆绑应用程序后可能存在的任何错误。如果程序在import语句期间失败,则可能需要将包添加到.spec文件中的hiddenimports列表。

我们很难在没有更多信息的情况下诊断此问题,但是命令提示符中显示的输出可能会提供更多信息。

**编辑:**您的编辑表明捆绑的应用程序中至少包含一个模块。

将模块添加到.spec文件中:运行pyinstaller后,将在包含.py文件的目录中生成.spec文件。您可以打开此.spec文件并将模块添加到名为hiddenimports的列表中。例如:hiddenimports = ['xlsxwriter', 'any_other_modules']。更新.spec文件后,再次使用.spec文件运行pyInstaller命令:pyinstaller --some_options my_app.spec

- 或 -

要在命令提示符下添加模块:使用hiddenimports选项运行pyinstaller:pyinstaller --hidden-import xlsxwriter my_app.py

有关详细信息,请参阅docs