5

Python 2.6 で奇妙で厄介な問題が発生しました。Embedded Linux ARM ボードで、このファイル (およびその他のファイル) を実行しようとしています。 http://svn.tuxisalive.com/software_suite_v3/smart-core/smart-server/trunk/TDSService.py

次のエラーが表示されます。

ファイル "tuxhttpserver.py"、1 行目の SyntaxError: エンコードの問題: BOM あり

エラーはBOMバイトなどに関するものであることは知っていますが、BOMバイトはありません。プレーンなAsciiです。Hexeditor で確認したところ、Linux の File コマンドで Ascii と表示されました。

私はここでおかしくなりました...コードは私のSheevaplug(ARMベースのシステムでもあります)でうまくいきました。

4

1 に答える 1

10

「with BOM」という発言にとらわれすぎないでください。それはおそらく関係ありません。このエラーは通常、実行しようとしている Python が、宣言したエンコーディングをサポートしていないことを意味します。観察:

% head -1 tmp.py
# -*- coding: asdfasdfasdf -*-
% python tmp.py
  File "tmp.py", line 1
SyntaxError: encoding problem: with BOM

この組み込み Linux ARM ボードで実行している Python インストールには、おそらく「latin-1」エンコーディングがありません。ソース ファイルには非 ASCII 文字が含まれていないため、エンコーディングを「ascii」として宣言するか、エンコーディングを完全に省略します。

于 2010-04-28T12:18:37.120 に答える