Ошибка проверки PEP8 в Wing IDE
Я установил плагин PEP8 для Wing IDE и теперь получаю сообщение об ошибке при проверке любого .PY
:
Error::Error executing script .user.internal_script_C0x3a0x5cUsers0x5chome0x5cAppData0x5cRoaming0x5cWing0x20IDE0x2050x5cscripts_pep8panel.pep8_execute
Runtime failure details:
Exception: "<type 'exceptions.UnicodeDecodeError'>"
Value = "'utf8' codec can't decode byte 0xc4 in position 21: invalid continuation byte"
Traceback:
File "C:\src\ide\bin\2.7\src\command\commandmgr.pyo", line 823, in Execute
File "C:\Users\home\AppData\Roaming\Wing IDE 5\scripts\pep8panel.py", line 114, in pep8_execute
_pep8_execute(filenames)
File "C:\Users\home\AppData\Roaming\Wing IDE 5\scripts\pep8panel.py", line 282, in _pep8_execute
handler = app.AsyncExecuteCommandLineE(cmd, rundir, env, *args)
File "C:\Program Files (x86)\Wing IDE 5.0\bin\wingapi.py", line 832, in AsyncExecuteCommandLineE
handler = spawn.CAsyncExecute(cmd, env, dirname, 10000.0, 100000, *args)
File "C:\src\svn-mirror-ide\bin\2.7\src\wingutils\spawn.pyo", line 1233, in __init__
File "C:\src\svn-mirror-ide\bin\2.7\src\wingutils\spawn.pyo", line 1142, in CreatePopenE
File "C:\src\svn-mirror-ide\bin\2.7\src\wingutils\spawn.pyo", line 986, in __init__
File "C:\src\svn-mirror-ide\bin\2.7\src\wingutils\spawn.pyo", line 200, in _win32_cmd_line_from_argv
В чем дело?
UPD: я использую русский Windows 7 и русские буквы могут появляться только в пути к файлам Python.
1 ответ
Похоже, вы написали свой скрипт в какой-то устаревшей кодировке. Попробуйте удалить любые символы, не входящие в ASCII (строки на некоторых языках, кроме английского, гавайского или латинского, часто являются виновниками. 0xC4 на латинице-1 - Ä).
Если это решит вашу проблему, либо закодируйте любые не-ASCII-строки в виде шестнадцатеричных последовательностей ('g\xf6\xf6dbye w\xf6rld'
) или повторно сохраните как UTF-8. (Тогда возможно добавлю # encoding: utf-8
в верхней части файла, чтобы Python был счастлив.)