使用 #-*- coding: utf-8 -*- 并不能解决“文件hello.exe中第1行出现非ASCII字符'\x90',但未声明编码”的错误。

3
我正在尝试将一个Python文件转换为可执行文件。目前看起来还不错。但是当我尝试运行可执行文件时,会出现以下错误信息:
SyntaxError: Non-ASCII character '\x90' in file hello.exe on line 1, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details"

这个问题已经被广泛记录,但使用给定的解决方案添加 标签并不总是有效。
#-*- coding: utf-8 -*-

在行首添加内容并不能解决我的问题。

我正在使用Notepad++编辑器,甚至已经明确强制使用了utf-8编码,但仍然无效。

我是否遗漏了什么?


4
根据 PEP-0263,"魔法注释必须作为文件的 第一行或第二行 插入源代码文件中。" - Mark Ransom
1
你是否正在使用py2exe来创建可执行文件?那么你如何运行这个可执行文件呢?我问这个问题是因为错误信息看起来像是你在尝试类似于python hello.exe的操作。 - felerian
是的,我正在使用py2exe。我的命令是python hello.exe。我认为这解决了问题。如果我只执行hello.exe,它可以正常工作。 - user3285362
2个回答

9

看起来你正在尝试使用以下命令运行可执行文件

python hello.exe

使用py2exe创建可执行文件的目的是不再需要使用Python解释器。因此,实际上错误与编码问题无关(尽管错误消息可能会暗示这一点),而只是调用二进制文件时调用Python的结果。

1
正如其他人提到的那样,你正在运行 "python hello.exe" 或 "py hello.exe"。因此,你正在尝试使用 python 运行可执行文件。尝试直接运行可执行文件而不是使用 python。
你只需要运行 "hello.exe" 即可。

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