无法 运行 pylinter,在 VS Code 中设置 python 解释器

Unable to run pylinter, set python interpreter in VS Code

我在 Stack Overflow 和专用 VS Code Git 上看到了一些问题,但所有解决方案都围绕着重新安装以及在 Python 扩展和 VS 上尝试之后展开通过必要的重新启动多次自我编码我仍然离解决方案还差得很远。直到几天前,Linter 似乎突然爆发时表现良好。

我还注意到 "Go to Definition" 不工作(热键或菜单导航),所以不确定它是 VS Code 问题还是 Python 实现问题,Intellisense似乎工作正常所以倾向于后者。

重现步骤

1) Cntrl + Shift + P 打开命令面板

2a) "Python: Select Interpreter" - 错误 "spawn EPERM")

2b) "Python: Select Linter" - 错误 "command 'python.setLinter' not found"

版本

用户设置

尝试根据建议设置显式路径,但还是不行。

{
"python.pythonPath": "C:/Users/saun89/AppData/Local/Programs/Python/Python36/python.exe",
"python.linting.pylintPath": "C:/Users/saun89/AppData/Local/Programs/Python/Python36/lib/site-packages/pylint",
}

我可能会继续并在实际 github 上开票(尽管这似乎不是产品问题,而是我自己特有的问题),但想与堆栈社区核实一下如果其他人不得不解决类似的问题。至少直到这与其他一些现有问题相似而不可避免地被遗忘为止。

大量错误日志(来自开发者工具)

以防万一他们有帮助

notificationsAlerts.ts:40 Error: command 'python.setLinter' not found
    at t._tryExecuteCommand (commandService.ts:57)
    at commandService.ts:50
    at n.Class.derive._oncancel.then (winjs.base.js:1587)
    at t.executeCommand (commandService.ts:50)
    at t.run (actions.ts:220)
    at t.run (actions.ts:268)
    at commandsHandler.ts:309

如果您遇到这个问题,我确实在这里找到了答案。看起来 SPAWN EPERM 错误实际上与我作为用户而非管理员的 运行ning 有关。当我 运行 VS Code 作为管理员能够很好地使用命令面板时。希望这对某人有所帮助!

您在尝试使用名为 spawn EPERM 的搜索栏时也可能会遇到此错误,原因可能是防病毒软件。

因为 Visual Studio 代码为搜索和其他功能创建了新进程(SPAWN 对应于新进程创建),这可能会导致防病毒软件停止该进程并导致此错误和功能无法正常工作。

解决方案:在你的 VS Code 防病毒软件中创建一个例外,或者一起禁用防病毒软件(如果你想感染病毒)

关于设置 python 解释器问题,在我的 Windows 和 Mac 机器上对我有用的临时解决方案:使用相对路径。

所以在我的例子中,而不是绝对路径;

"python.pythonPath": "/Users/userid/p3env/bin/python" (on Mac)
"python.pythonPath": "C:/Users/userid/p3env/bin/python" (on Windows)

我使用了工作文件夹中的相对路径;

"python.pythonPath": "../../../../p3env/bin/python"

不过我的 Ubuntu 机器没有任何问题。我相信这个问题影响了很多人。它也在几个问题中进行了讨论:[3326], [3326]。似乎它在某些更新中消失了,并以某种方式在另一个更新中再次出现。上面的变通解决方案不是一个非常方便的方法,所以我希望会有一个永久性的解决方案。