按F5使用VS代码调试Python模块
我的项目结构如下:按F5使用VS代码调试Python模块,python,visual-studio-code,vscode-settings,Python,Visual Studio Code,Vscode Settings,我的项目结构如下: Project Folder --setup.py ----Module Folder ------ __init__.py ------ __main__.py 我的\uuuuu main\uuuuuu.py文件包含我的应用程序的入口点,安装文件的配置如下: from setuptools import setup setup(name='my_project', version='0.1.0', packages=['my_project'],
Project Folder
--setup.py
----Module Folder
------ __init__.py
------ __main__.py
我的\uuuuu main\uuuuuu.py
文件包含我的应用程序的入口点,安装文件的配置如下:
from setuptools import setup
setup(name='my_project',
version='0.1.0',
packages=['my_project'],
entry_points={
'console_scripts': [
'my_project= my_project.__main__:main'
]})
这意味着我可以使用以下方法运行代码,而无需附加调试器:
python -m my_project
我尝试过使用VS代码进行调试,方法是导航到我的\uuu main\uuuuuuuu.py
文件并按F5运行,但这不起作用并引发异常。如何配置Visual Studio代码以在调试模式下运行此模块?
另外,我如何确保程序也运行模块,而不是我按F5时查看的文件?经过一些研究,我找到了解决方案:
launch.json
文件。这将用于配置VS代码launch.json
文件,请将以下内容粘贴到其中:没有名为my_project的模块
,但我找到了这个答案:
最后一条注释告诉您将以下内容添加到配置中
"env": {"PYTHONPATH":"${workspaceRoot}"},
这修复了错误,现在您可以按F5键,您的模块将被调试。接受的答案对我不起作用(VSCode 1.49.0),我收到一条错误消息,内容为:
无效消息:“程序”、“模块”和“代码”相互排斥
删除“程序”:“${file}”,
行解决了问题。我认为这是有意义的,因为定义模块(带有隐含入口点)和文件是多余的
我的launch.json
如下所示:
from setuptools import setup
setup(name='my_project',
version='0.1.0',
packages=['my_project'],
entry_points={
'console_scripts': [
'my_project= my_project.__main__:main'
]})
{
“版本”:“0.2.0”,
“配置”:[
{
“名称”:“Python模块”,
“类型”:“python”,
“请求”:“启动”,
“控制台”:“集成终端”,
“模块”:“我的项目”,
}
]
}