2012-07-01 42 views
1

的cx_freeze筆記錯誤:cx_freeze:在標識無效字符

module.code = compile(codeString, path, "exec 
    File "update.py", line 1 
    \ufeffimport os 
      ^
SyntaxError: invalid character in identifier 

cx_freeze版本cx_Freeze-4.2.3.win32-py3.1 , python version:python-3.1.3**

無論使用COMAND或step.py編譯這段代碼,它總是注意ERR :「invalid character in identifier」。我刪除了所有不是英文的字符,文件路徑也是英文。 ps:我試圖編譯一個「helloWorld.py」,它成功了。

請幫助我,我是一個新鮮的學習python。

該代碼被用來將一些文件複製到我在配置文件中寫入的路徑。並且代碼運行沒有錯誤。

+0

錯誤在'update.py'文件中,您是否從該文件中刪除無效字符? –

+0

你的'import os'行在它前面有一個unicode空間嗎? – jdi

+0

到Ashwini Chaudhary:是的,我做了 – mrchen

回答

2

0xfeff是一個Unicode字節順序標記。將update.py保存爲UTF-8,不包含字節順序標記。 (UTF-8不應該有BOM開頭,但有些編輯器會添加一個。)

+0

我把代碼複製到一個新文件並編譯成功。謝謝! – mrchen

+0

但是當我運行exe文件時,它回溯:文件「C:\ Python31 \ lib \ encodings \ ascii.py」,第26行,解碼 UnicodeDecodeError:'ascii'編解碼器無法解碼位置2中的字節0xd7:序號 不在範圍內(128) 我的python安裝在d: – mrchen

+0

爲什麼可執行文件轉到c:搜索編碼包,我使用命令「csfreeze --target-dir dist」進行編譯。有沒有辦法做到這一點,並不會搜索編碼包在C:?? – mrchen