这是我第一次使用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
答案 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。