【问题标题】:Using #-*- coding: utf-8 -*- does not remove "Non-ASCII character '\x90' in file hello.exe on line 1, but no encoding declared" error使用 #-*- 编码:utf-8 -*- 不会删除“第 1 行文件 hello.exe 中的非 ASCII 字符 '\x90',但未声明编码”错误
【发布时间】:2014-02-07 20:06:31
【问题描述】:

我正在尝试将 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 编码,但无济于事。

我有什么遗漏的吗?

【问题讨论】:

  • 来自 PEP-0263:“魔术注释必须作为文件中的第一行或第二行放入源文件中”。
  • 您是否使用py2exe 创建可执行文件?您如何运行可执行文件?我问这个是因为错误消息看起来像你正在尝试类似python hello.exe
  • 是的,我正在使用 py2exe。我的命令是 python hello.exe。我认为这解决了问题。如果我只执行 hello.exe 就可以了。

标签: python encoding utf-8 py2exe


【解决方案1】:

您似乎尝试使用

运行您的可执行文件
python hello.exe

虽然使用py2exe 创建可执行文件的目的是您不再需要使用python 解释器。所以这个错误实际上根本与编码问题无关(尽管错误消息可能暗示了这一点),而只是使用二进制文件调用 python 的结果。

【讨论】:

    【解决方案2】:

    正如其他人提到的,您正在运行“python hello.exe”或“py hello.exe”。因此,您正在尝试使用 python 运行可执行文件。尝试仅在没有 python 的情况下运行可执行文件。

    您只需要运行“hello.exe”。

    【讨论】:

      猜你喜欢
      • 2018-05-03
      • 2019-06-20
      • 1970-01-01
      • 1970-01-01
      • 2023-04-01
      • 2011-12-04
      • 1970-01-01
      • 1970-01-01
      • 2022-01-25
      相关资源
      最近更新 更多