Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Python BOM error in Ascii file

I have a weird, annoying problem with Python 2.6. I'm trying to run this file (and the other), on my Embedded Linux ARM board. http://svn.tuxisalive.com/software_suite_v3/smart-core/smart-server/trunk/TDSService.py

I get this error:

File "tuxhttpserver.py", line 1 SyntaxError: encoding problem: with BOM

I know that error is about the BOM bytes etc etc. BUT, there are NO BOM bytes, it's plain Ascii. I checked with a Hexeditor, and the linux File command says its Ascii.

Im freaking out here... The code worked fine on my Sheevaplug (also a ARM based system).

like image 471
Sugarel Avatar asked Apr 28 '10 12:04

Sugarel


1 Answers

Don't get too hung up on the "with BOM" remark. It's probably not relevant. What this error usually means is that the Python you are trying to run in does not support the encoding you declare. Observe:

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

The Python installation you are running on this Embedded Linux ARM board probably lacks the 'latin-1' encoding. Since you don't have any non-ASCII characters in your source file, just declare the encoding as 'ascii', or leave out the encoding altogether.

like image 75
Thomas Wouters Avatar answered Sep 20 '22 07:09

Thomas Wouters