我的问题可能看似简单但是,我有一个模块,我在这样的终端中启动:
bash
python -m my_module.my_file
如何在Visual Studio Code中调试它。
我在launch.json
(documentation)
"type": "python",
"request": "launch",
"pythonPath": "D:\\ProgramData\\Anaconda3\\envs\\simulec\\python.exe",
"args": [
"-m",
"my_module.my_file",
]
如果我没有设置program
选项,或者我将其设置为""
,我会收到“文件不存在”错误。
有什么想法吗? 提前致谢
答案 0 :(得分:5)
实际上,我在尝试编辑launch.json
时偶然发现了一个非常简单的选项。
"type": "python",
"request": "launch",
"pythonPath": "D:\\ProgramData\\Anaconda3\\envs\\simulec\\python.exe",
"module": "my_module.my_file",
只需在模块键"module": "my_module.my_file"
-m
不再有用了
答案 1 :(得分:3)
在这样的终端中:python -m xyz abc.z3
(请确保您打开“项目的根文件夹”)。
{
// 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": "module",
"type": "python",
"request": "launch",
"module": "xyz",
"args": [
"abc.z3"
]
}
],
}
答案 2 :(得分:2)
@dzada 的回答让我有点困惑,所以我试着重新措辞并添加更多说明。
调试名为 script_file.py
的文件中的模块,该文件存在于名为 packagex
的包中,其结构如下:
Project_Folder
packagex
script_file.py
您在 launch.json
文件中的配置应如下所示
"configurations": [
{
"name": "Python: any name like script_file",
"type": "python",
"request": "launch",
"module": "packagex.script_file"
}
]
答案 3 :(得分:0)
{
"version": "0.2.0",
"configurations": [
{
"name": "module",
"type": "pythonExperimental",
"request": "launch",
"module": "my_package.my_module.${fileBasenameNoExtension}",
},
]
}
答案 4 :(得分:0)
要对dzada's answer进行一些补充,这对我有很大帮助,可以使用Visual Studio Code变量使此通用名称用于调试模块中的任何文件。
{
"version": "0.2.0",
"configurations": [
{
"name": "Python: Module",
"type": "python",
"request": "launch",
"module": "my_module.${fileBasenameNoExtension}"
}
]
}
您可能想做什么?