SublimeLinter/sublimelinter/modules/python3.py
python3.py
import re
from base_linter import BaseLinter, INPUT_METHOD_FILE
CONFIG = {
'language': 'Python3',
'executable': 'flake8',
'test_existence_args': ['--version'],
'lint_args': '{filename}',
'input_method': INPUT_METHOD_FILE #Nur beim Speichern. EINGABE, wenn Sie in Echtzeit einchecken möchten_METHOD_TEMP_Mach es DATEI
}
class Linter(BaseLinter):
def parse_errors(self, view, errors, lines, errorUnderlines, violationUnderlines, warningUnderlines, errorMessages, violationMessages, warningMessages):
for line in errors.splitlines():
match = re.match(r'^.+:(?P<line>\d+):(?P<offset>\d*):?\s+(?P<error>.+)', line)
if match:
error, line, offset = match.group('error'), match.group('line'), match.group('offset')
if not error.startswith('E501'):
self.add_message(int(line), lines, '[{0}: {1}]'.format(offset, error), errorMessages)
E501 ist ausgeschlossen, wenn Sie möchten.
cd ~/Library/Application Support/Sublime Text 2/Packages/Python
cp Python.tmLanguage Python3.tmLanguage
Ich bin mir nicht sicher, deshalb habe ich nur name und scopeName in Python3 und source.python3 geändert OK, wenn Python 3 in Set Syntax angezeigt wird
{
"sublimelinter_executable_map": {
"python3": "Pfad zu flake8 für python3"
}
}
Die Problemumgehung besteht darin, die Umgebungsvariable PYTHONIOENCODING auf utf-8 und LC_CTYPE auf en_US.utf-8 zu setzen. Schreiben Sie für Mac-Benutzer in /etc/launchd.conf. Wenn Ihnen die Auswirkungen nicht gefallen, können Sie Ihr eigenes Startskript schreiben (entspricht dem Befehl flake8) und die Codierungseinstellungen darin schreiben. Stellen Sie die interne Umgebung so ein, dass sys.getdefaultencoding () == 'utf-8', locale.getpreferredencoding (False) == 'utf-8'.
Dies sieht aus wie ein Fehler in flake8. flake8 / pyflakes.py: per 319
NUM = STR = ELLIPSIS = ignore
Ich habe BYTES hinzugefügt und es hat funktioniert.
Recommended Posts