VS Code показывает сообщение об ошибке в инструкции print в python 2.7
Я использую VS Code Version 1.19.3 с Python 2.7 в Windows.
Недавно pylint (анализатор кода) "E1601:print statement used"
сообщение об ошибке "E1601:print statement used"
Но я не знаю, почему! Кто-нибудь может мне помочь?
Правило печати корректно, насколько мне известно!
Это ошибка или функция отсутствует?
Приветствую вас
Ответы
Ответ 1
Предупреждение исходит из pylint, который является очень полезным инструментом для нетипизированного языка со свободным синтаксисом, например python. Так как вы программируете в python 2.x, печать абсолютно корректна, я предлагаю вам поместить файл в корень вашего репо с именем .pylintrc
и использовать его для настройки pylint.
Чтобы отключить предупреждение печати и оставить все остальное по умолчанию, введите эти две строки в файл .pylintrc
:
[MESSAGES CONTROL]
disable=print-statement
Вам также необходимо указать Visual Studio Code, чтобы использовать файл конфигурации, открыв рабочее пространство или пользовательские настройки и добавив следующее:
{
"python.linting.enabled": true,
"python.linting.pylintEnabled": true,
"python.linting.pylintArgs": [
"--rcfile=/path/to/.pylintrc"
]
}
Больше вариантов
Чтобы получить представление о доступных параметрах конфигурации, откройте терминал/приглашение и запустите эту команду, чтобы сгенерировать образец файла конфигурации:
pylint --generate-rcfile > sample_pylintrc
Ответ 2
Проблема в том, что переход от оператора печати к функции печати не очень помогает. Таким образом, кажется, что это некоторая ошибка в VS Code Python module (2018.1 (01 февраля 2018)), так как после этого обновления я нашел ту же проблему в своем VS Code в моих старых проектах
Я нашел исправленную ошибку на своем github
PS: vscode-python изменил параметры pylint с 2018 года.1. Чтобы вернуть прежнее поведение, вы можете отключить параметр python.linting.pylintUseMinimalCheckers для рабочей области или для пользовательского пространства.
Ответ 3
это не ошибка, а просто PyLint жалуется на эти устаревшие заявления. PyLint также будет жаловаться на отсутствие пробелов перед запятыми, такие ошибки стиля.
PyLint должен предупредить вас о возможных проблемах. Ваш код сломается при запуске python 3, поэтому он предупреждает вас, прежде чем это произойдет.
Обратите внимание, что print
- это оператор в python 2.x (который объясняет это сообщение) и стал функцией в python 3.x.
Исправьте его, изменив на:
print("test")
Так как это не tuple
, он отлично работает и делает то же самое для всех версий python, и PyLint перестанет жаловаться.
вы также можете полностью избавиться от PyLint: Windows 10 - код Visual Studio - удаление pylint (не уверен, если это хорошая идея)