如何将虚拟环境添加到 VSCode Launch.json

buc*_*age 10 visual-studio-code

正如标题所示,我正在使用 VSCode 调试器来启动 django 应用程序。我使用创建了虚拟环境 python3 -m virtualenv venv,它显示在我想要的地方。我已经检查了 VSCode django 和调试教程,但与开始时相比,我并没有更接近答案。

\n
vscode \xe2\x9e\x9c /workspaces/docker-test-proj $ ls -l\ntotal 0\ndrwxr-xr-x 8 vscode vscode 256 Apr  6 14:30 helloworld\n\n\nvscode \xe2\x9e\x9c /workspaces/docker-test-proj/helloworld $ ls -l\ntotal 136\ndrwxr-xr-x 11 vscode vscode    352 Apr  6 13:24 app\n-rw-r--r--  1 vscode vscode 131072 Apr  6 13:42 db.sqlite3\ndrwxr-xr-x  8 vscode vscode    256 Apr  6 13:21 helloworld\n-rwxr-xr-x  1 vscode vscode    666 Apr  6 13:19 manage.py\n-rw-r--r--  1 vscode vscode    175 Apr  6 14:30 requirements.txt\ndrwxr-xr-x  6 vscode vscode    192 Apr  6 13:20 venv\n
Run Code Online (Sandbox Code Playgroud)\n

我需要将source venv/bin/activate命令放在下面的 launch.json 文件中的什么位置才能在启动 VSCode 调试器时运行它?

\n
{\n    "version": "0.2.0",\n    "configurations": [\n        {\n            "name": "Python: Django",\n            "type": "python",\n            "request": "launch",\n            "program": "${workspaceFolder}/helloworld/manage.py",\n            "args": [\n                "runserver",\n            ],\n            "django": true\n        },\n    ]\n}\n
Run Code Online (Sandbox Code Playgroud)\n

Mik*_*inn 20

您不需要添加activatelaunch.json. 你有3个选择(我更喜欢第一个选择):

  1. python提供虚拟环境中的完整路径。这是我的启动配置之一。该python入口指向python虚拟环境中的可执行映像。

        {
          "justMyCode": false,
          "name": "Ancient Warmth / Django-Oscar",
          "type": "python",
          "request": "launch",
          "program": "${workspaceFolder}/manage.py",
          "python": "${env:oscar}/bin/python",
          "args": [
            "runserver",
            "--noreload",
            "0.0.0.0:8001",
          ],
          "django": true
        },
    
    Run Code Online (Sandbox Code Playgroud)

    请注意,上面引用的是一个名为 的环境变量,oscar该变量指向虚拟环境。我oscar这样定义.bashrc

    export oscar=/var/work/django/oscar
    
    Run Code Online (Sandbox Code Playgroud)

    环境变量定义在哪里并不重要,只要在 VSCode 运行之前定义即可。

  2. 在 VSCode 窗口底部靠近左侧的位置,您将找到正在使用的 Python 环境的名称。

    A。单击它,工作区列表从顶部下拉。

    b. 选择要修改Python的工作空间,然后你将看到Python解释器的列表。您想要的解释器可能没有显示,因此单击“我找不到我想要选择的解释器...”,然后单击“查找...”。

    C。导航到您的虚拟环境并单击python

  3. 此选项是一种手动方式,可产生与选项 #2 相同的更改。.vscode/settings.json编辑项目目录中调用的文件,并将其设置python.pythonPath为指向python虚拟环境中的程序。这是我的完整.vscode/settings.json文件:

    export oscar=/var/work/django/oscar
    
    Run Code Online (Sandbox Code Playgroud)

  • 这不是我的经验,所需要的只是“python”解释器存在于指定位置并且运行。 (2认同)

Cul*_*n D 6

我给了 @mike-slinn +1,因为它为我指明了正确的方向,但如果你是 venv 的 Windows 用户,这正是我所做的。打开 launch.json 并添加以下内容:

 "python":"C:/Users/[pathto]/[projectfolder]/.venv/Scripts/python.exe"
Run Code Online (Sandbox Code Playgroud)

完整文件:

{
"version": "0.2.0",
"configurations": [
    {
        "name": "Python: Current File",
        "type": "python",
        "python": "C:/Users/cullen/pathto/projectfolder/.venv/Scripts/python.exe",
        "request": "launch",
        "program": "${file}",
        "console": "integratedTerminal",
        "justMyCode": true
    }
]}
Run Code Online (Sandbox Code Playgroud)