VSCode:Linting 无法在 Python 2.7 上运行
VSCode: Linting not working on Python 2.7
系统:Win x64 10.0.18363
VSCode: 1.43.2
Python: 2.7.10 32 位
在我安装 flake8 前后,我的 linter 在 VSCode 上停止工作。我不知道出了什么问题,因为 linter 运行ning 它只是不打印任何问题。每次我 运行 linter 都会显示:
C:\Python27\python.exe -m pylint --disable=all --enable=F,unreachable,duplicate-key,unnecessary-semicolon,global-variable-not-assigned,unused-variable,unused-wildcard-import,binary-op-exception,bad-format-string,anomalous-backslash-in-string,bad-open-mode,E0001,E0011,E0012,E0100,E0101,E0102,E0103,E0104,E0105,E0107,E0108,E0110,E0111,E0112,E0113,E0114,E0115,E0116,E0117,E0118,E0202,E0203,E0211,E0213,E0236,E0237,E0238,E0239,E0240,E0241,E0301,E0302,E0303,E0401,E0402,E0601,E0602,E0603,E0604,E0611,E0632,E0633,E0701,E0702,E0703,E0704,E0710,E0711,E0712,E1003,E1101,E1102,E1111,E1120,E1121,E1123,E1124,E1125,E1126,E1127,E1128,E1129,E1130,E1131,E1132,E1133,E1134,E1135,E1136,E1137,E1138,E1139,E1200,E1201,E1205,E1206,E1300,E1301,E1302,E1303,E1304,E1305,E1306,E1310,E1700,E1701 --msg-template='{line},{column},{category},{symbol}:{msg}' --reports=n --output-format=text "c:\ Correct Path (removed for privacy reasons)"
cwd: c:\ Correct Path (removed for privacy reasons)
(first 2 lines printed again)
##########Linting Output - pylint##########
什么也没有输出。当我切换到 Python 3.8 时,它运行良好,并按应有的方式向我显示所有错误。对于 Python 3.8,它具有完全相同的输出,只是路径不同。我的 settings.json 包括以下内容:
"python.pythonPath": "C:\Python27\python.exe",
"python.linting.pylintEnabled": true,
"python.linting.pylintUseMinimalCheckers": true,
"python.linting.enabled": true,
"python.linting.mypyEnabled": false,
我尝试了所有可能的设置,但没有任何区别。我尝试了 5 个以上的短绒,它们都做同样的事情。我的控制台上再也没有任何输出,我也不知道为什么。它之前工作正常,所以我知道这不是任何路径问题。
我唯一的提示是,如果我使用开发人员工具,console.ts
的第 173 行会出现错误
Error Python Extension: 2020-03-29 21:56:02: stderr jediProxy Error (stderr) completion.py:586: DeprecationWarning: Deprecated since version 0.16.0. Use Script(...).get_names instead.
jedi.api.names(
代码:
(console as any)[entry.severity].apply(console, consoleArgs);
// underlined red is -> 'apply(console, consoleArgs);'
我试着用谷歌搜索这个错误,但我没有得到任何关于我的特定问题的信息。任何帮助都会很棒。
编辑
几个小时后我找到了临时解决方案。这是简单地关闭绝地武士。您必须转到设置并找到 Python: Jedi Enabled 并将其关闭。我说这是暂时的,因为我更喜欢 Jedi,所以我暂时不会回答我的问题。这似乎是一个新错误,所以我希望这对其他人有所帮助。
应该是绝地版本问题,我通过指定版本解决了
pip install jedi==0.15.2
系统:Win x64 10.0.18363
VSCode: 1.43.2
Python: 2.7.10 32 位
在我安装 flake8 前后,我的 linter 在 VSCode 上停止工作。我不知道出了什么问题,因为 linter 运行ning 它只是不打印任何问题。每次我 运行 linter 都会显示:
C:\Python27\python.exe -m pylint --disable=all --enable=F,unreachable,duplicate-key,unnecessary-semicolon,global-variable-not-assigned,unused-variable,unused-wildcard-import,binary-op-exception,bad-format-string,anomalous-backslash-in-string,bad-open-mode,E0001,E0011,E0012,E0100,E0101,E0102,E0103,E0104,E0105,E0107,E0108,E0110,E0111,E0112,E0113,E0114,E0115,E0116,E0117,E0118,E0202,E0203,E0211,E0213,E0236,E0237,E0238,E0239,E0240,E0241,E0301,E0302,E0303,E0401,E0402,E0601,E0602,E0603,E0604,E0611,E0632,E0633,E0701,E0702,E0703,E0704,E0710,E0711,E0712,E1003,E1101,E1102,E1111,E1120,E1121,E1123,E1124,E1125,E1126,E1127,E1128,E1129,E1130,E1131,E1132,E1133,E1134,E1135,E1136,E1137,E1138,E1139,E1200,E1201,E1205,E1206,E1300,E1301,E1302,E1303,E1304,E1305,E1306,E1310,E1700,E1701 --msg-template='{line},{column},{category},{symbol}:{msg}' --reports=n --output-format=text "c:\ Correct Path (removed for privacy reasons)"
cwd: c:\ Correct Path (removed for privacy reasons)
(first 2 lines printed again)
##########Linting Output - pylint##########
什么也没有输出。当我切换到 Python 3.8 时,它运行良好,并按应有的方式向我显示所有错误。对于 Python 3.8,它具有完全相同的输出,只是路径不同。我的 settings.json 包括以下内容:
"python.pythonPath": "C:\Python27\python.exe",
"python.linting.pylintEnabled": true,
"python.linting.pylintUseMinimalCheckers": true,
"python.linting.enabled": true,
"python.linting.mypyEnabled": false,
我尝试了所有可能的设置,但没有任何区别。我尝试了 5 个以上的短绒,它们都做同样的事情。我的控制台上再也没有任何输出,我也不知道为什么。它之前工作正常,所以我知道这不是任何路径问题。
我唯一的提示是,如果我使用开发人员工具,console.ts
的第 173 行会出现错误Error Python Extension: 2020-03-29 21:56:02: stderr jediProxy Error (stderr) completion.py:586: DeprecationWarning: Deprecated since version 0.16.0. Use Script(...).get_names instead.
jedi.api.names(
代码:
(console as any)[entry.severity].apply(console, consoleArgs);
// underlined red is -> 'apply(console, consoleArgs);'
我试着用谷歌搜索这个错误,但我没有得到任何关于我的特定问题的信息。任何帮助都会很棒。
编辑
几个小时后我找到了临时解决方案。这是简单地关闭绝地武士。您必须转到设置并找到 Python: Jedi Enabled 并将其关闭。我说这是暂时的,因为我更喜欢 Jedi,所以我暂时不会回答我的问题。这似乎是一个新错误,所以我希望这对其他人有所帮助。
应该是绝地版本问题,我通过指定版本解决了
pip install jedi==0.15.2