如何配置Visual Studio Code以在virtualenv中调试Django应用程序?

13

我希望在Visual Studio Code中有调试Django应用程序的可能性。我有一个虚拟环境,在launch.json文件中做了一个改变,如下所示:

{
    "name": "Django",
    "type": "python",
    "request": "launch",
    "stopOnEntry": true,
    "pythonPath": "${workspaceRoot}/.venv/bin/python2.7",
    "program": "${workspaceRoot}/mysite/manage.py",
    "args": [
        "runserver"
    ],
    "debugOptions": [
        "WaitOnAbnormalExit",
        "WaitOnNormalExit",
        "DjangoDebugging",
        "RedirectOutput"
    ]
},

在代码中设置几个断点并运行它。不幸的是,执行没有停在带有断点的行上。我尝试了一下没有使用虚拟环境的情况,一切都完美。

请指出我在这里做错了什么。

3个回答

20

对我来说,以下两个更改起作用:

  1. 为pythonPath添加绝对路径
  2. 在启动项目时使用"--noreload"选项

这是我的配置文件的相关部分:

    {
        "name": "Django",
        "type": "python",
        "request": "launch",
        "stopOnEntry": true,
        "pythonPath": "/Users/xyz/Documents/dev/my_project/my_project_env/bin/python",
        "program": "${workspaceRoot}/manage.py",
        "args": [
            "runserver",
            "0.0.0.0:8080",
            "--noreload"                
        ],
        "debugOptions": [
            "WaitOnAbnormalExit",
            "WaitOnNormalExit",
            "RedirectOutput",
            "DjangoDebugging"
        ]
    },

对于 Windows 系统,pythonPath 将是(我的环境)"pythonPath": "c:\\Python3", - nguyên
我在运行Django应用程序的Debug环境时遇到了问题:我的python不在虚拟环境中,而我的django在其中。因此,我在启动配置文件launch.json设置中添加"pythonPath": "${workspaceRoot}/.venv/bin/python2.7"这一行并不能解决问题 - 我在https://stackoverflow.com/questions/68455529/not-able-to-activate-debug-in-vs-code-for-django-project-django-in-virtual-envi添加了更多细节: - Skratt

6

1) 按下CTRL + ,
2) 选择 Workspace Settings
3) 在打开的设置文件中添加以下行。

"python.pythonPath": "path_to_your_env"


你做完了!


1
使用工作区设置是一个好主意,因为您可以使用标准的launch.json文件。 - Horst Walter
这很有帮助,将 "python" 添加到 launch.json -> configurations 中似乎无效。 - Yongfeng

4

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接