无法打开使用PyInstaller创建的桌面应用程序

3

我从.py文件创建了一个PyInstaller文件。在这个文件中,我用PyQt4创建了带有.ui扩展名的文件。但当我试图执行创建的文件时,它显示出错:

File "C:\Users\Flosh\Desktop\dist\ProgramNew\New.exe", line 1
SyntaxError: Non-ASCII character '\x90' in file C:\Users\Flosh\Desktop\dist\ProgramNew\New.exe on line 1, 
but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details

在原始的.py文件中,我使用了UTF-8编码,但是出现了ASCII问题的错误。
如何修复这个错误?

1
你在原始的Python代码文件中添加了这个吗?http://www.python.org/dev/peps/pep-0263/ - Puffin GDI
谢谢您的回答。是的,我在我的代码中使用了那些行。 - Pablo Flores
2
你的Python文件没有保存为UTF-8。 - Hisham Karam
你的文件顶部有 # -*- coding: utf-8 -*- 吗? - PsyGik
也许你的文件开头有BOM(U+FEFF字节顺序标记)。请将其删除。https://gist.github.com/ZiTAL/1b011032616a5b3bf7e6 - vatay
抱歉回复晚了。是的,我在代码开头有一行:'-- coding: utf-8 --'。 - Pablo Flores
3个回答

4

这是一个Python的回溯信息,但第一行显示了一个 exe文件:

File "C:\Users\Flosh\Desktop\dist\ProgramNew\New.exe", line 1

这意味着您必须像这样运行应用程序:
python C:\Users\Flosh\Desktop\dist\ProgramNew\New.exe

你不能使用Python运行exe文件。事实上,使用像PyInstaller这样的工具的整个目的就是你不需要安装Python即可运行程序。你已经创建了一个独立的可执行文件,所以只需直接运行它,例如:

C:\Users\Flosh\Desktop\dist\ProgramNew\New.exe

1
你可以尝试使用cxfreeze创建安装程序或可执行包。创建设置文件的说明在这里提供。也许这能帮到你。

1

正如@Hisham Karam在他对你的问题的评论中所说,你可能没有使用utf-8编码保存你的文件。仅仅在你的Python文件顶部添加# coding: utf-8是不够的,它还必须使用utf-8进行编码。有许多方法可以检查这一点,我更喜欢使用Notepad ++

enter image description here


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接