Ошибка проверки 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 был счастлив.)

Другие вопросы по тегам