Nic*_*der 5 python json visual-studio-code
解决:我忘记更新program
密钥以始终指向main.py
,因此我的配置将当前打开的文件作为Python脚本运行.正确设置program
密钥或导航到不同的文件是解决方案.当StackOverflow允许我时,我会将我的答案标记为解决方案.
我正在尝试从Visual Studio代码运行Python脚本,但脚本无法运行并在SyntaxError
指向开头的注释时崩溃launch.json
.
launch.json
:
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Python | Default",
"type": "python",
"request": "launch",
"stopOnEntry": false,
"pythonPath": "${config:python.pythonPath}",
"program": "${file}",
"cwd": "${workspaceFolder}",
"env": {},
"envFile": "${workspaceFolder}/.env",
"debugOptions": [
"RedirectOutput"
]
}
]
}
Run Code Online (Sandbox Code Playgroud)
终端输出:
File ".../.vscode/launch.json", line 2
// Use IntelliSense to learn about possible attributes.
^
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)
settings.json
:
{
"python.pythonPath": "${workspaceFolder}/venv/bin/python"
Run Code Online (Sandbox Code Playgroud)
我之前在我的Windows机器上工作,所有这一切都很好.出于某种原因,VSCode试图launch.json
通过Python 运行该文件,并且//
是Python 中的无效注释语法.如果我删除评论,我会收到此错误:
Traceback (most recent call last):
File ".../.vscode/launch.json", line 8, in <module>
"stopOnEntry": false,
NameError: name 'false' is not defined
Run Code Online (Sandbox Code Playgroud)
如果我使用Python False
,我不会崩溃,但没有任何反应,我的脚本不会运行.看起来非常像是launch.json
被Python错误地解析了.对此有任何修复?
Nic*_*der 12
我发现了我的问题.我没有更新program
密钥总是指向我的main.py
.相反,当前打开的文件作为Python脚本执行 - launch.json
更改program
密钥或导航到另一个文件解决了问题.一旦你注意到它就显而易见了!
我认为更简单的解决方案是:
正如 Nick 提到的,当在编辑器中关注 launch.json 时,调试系统在 launch.json 本身上运行,而不是在 python 文件上运行。
修改launch.json中的“program”如下:
"program": "${workspaceFolder}/main.py",
Run Code Online (Sandbox Code Playgroud)
它对应于
程序键始终指向main.py
正如尼克所说。
请注意,如果 main.py 位于较深的目录中,上述修改可能无法正常工作。
归档时间: |
|
查看次数: |
3099 次 |
最近记录: |