我想在 Visual Studio Code 中调试一个用 Python 3 编写的项目,但是在 launch.json 文件中似乎找不到指定解释器或 Python 版本的任何方法。
它适用于 Python 2,因此问题是,我如何使其适用于 Python 3?
我想在 Visual Studio Code 中调试一个用 Python 3 编写的项目,但是在 launch.json 文件中似乎找不到指定解释器或 Python 版本的任何方法。
它适用于 Python 2,因此问题是,我如何使其适用于 Python 3?
Python: Select Workspace Interpreter
对于以后的版本,只需:
Python: Select Interpreter
在命令面板中(Windows 上按 F1,macOS 上按 Ctrl + Shift + P),选择下拉列表中显示的 Python 解释器之一。就这样。您的 settings.json 文件将自动编辑为指向您选择的解释器。
来源:Don Jayamanne's extension's documentation at GitHub
注意:由于我无法评论已接受的答案,因此我复制了 我对类似问题的回答 的部分内容。
Python 3 调试也很好用。但是有点令人困惑,因为有两个不同的地方可以指定路径:settings.json 和 launch.json。
我建议使用Don Jayamanne的Python扩展。安装后,您需要配置要使用它的解释器路径。
用于智能感知、自动补全、语法检查、格式化等功能的 Python 版本。
相同的 Python 解释器用于智能感知、自动补全、语法检查、格式化等功能(除调试之外)。默认使用的标准解释器是当前路径中遇到的第一个 Python 解释器。如果要使用不同的版本,则可以通过以下两种方式进行配置:
在用户设置文件(settings.json)中配置 Python 解释器的路径,如下所示。确保指定 Python 可执行文件的完全限定名称。"python.pythonPath": "c:/python27/python.exe"
在工作区设置文件 (settings.json) 中配置 Python 解释器的路径,如下所示。确保指定 Python 可执行文件的完全限定名称。"python.pythonPath": "c:/python27/python.exe"
用于调试的 Python 版本
有关调试配置设置的详细信息,请参见调试。只需在 launch.json 文件的配置设置中的 "python" 设置中提供指向 Python 可执行文件的完全限定路径,如下所示:
{
"name": "Python",
"type": "python",
"request": "launch",
"stopOnEntry": true,
"program": "${file}",
"pythonPath": "c:/python27/python.exe",
"debugOptions": [
"WaitOnAbnormalExit",
"WaitOnNormalExit",
"RedirectOutput"
]
}
{
...
"python.pythonPath": "python3",
}
"configurations": [
{
"name": "Python: Current File (Integrated Terminal)",
"type": "python",
"request": "launch",
"program": "${file}",
"console": "integratedTerminal"
},
...
]
设置文件中有一个触发器:
对于Python默认值(现在是2.7)
"python.pythonPath": "python",
针对Python 3版本:
"python.pythonPath": "python3",
使用以下命令检查Python版本:
import sys
print(sys.version)
settings.json
文件? - Peter Mortensen对于使用Continuum Analytics的Anaconda Python发行版的用户,我有一条额外的提示:您可能会发现我的经验很有用。
我正在使用Don Jayamanne的Python扩展程序并运行“选择工作区解释器”命令,但仍然发现我得到的Python版本的linting建议是错误的。
对我有效的修复方法是安装Anaconda的Pylint包:
conda install -c anaconda pylint
要在Visual Studio Code中调试Python项目,请使用以下启动配置:
"name": "Python: Current File",
"type": "python",
"request": "launch",
"program": "${cwd}/{filename}.py",
"args" : [
"--arg1", "arg1-value",
"--arg2", "arg2-value",
"--arg3", "arg3-value"
],
"console": "integratedTerminal"