【问题标题】:How to add virtual environment to VSCode Launch.json如何将虚拟环境添加到 VSCode Launch.json
【发布时间】:2021-07-02 09:40:13
【问题描述】:

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

vscode ➜ /workspaces/docker-test-proj $ ls -l
total 0
drwxr-xr-x 8 vscode vscode 256 Apr  6 14:30 helloworld


vscode ➜ /workspaces/docker-test-proj/helloworld $ ls -l
total 136
drwxr-xr-x 11 vscode vscode    352 Apr  6 13:24 app
-rw-r--r--  1 vscode vscode 131072 Apr  6 13:42 db.sqlite3
drwxr-xr-x  8 vscode vscode    256 Apr  6 13:21 helloworld
-rwxr-xr-x  1 vscode vscode    666 Apr  6 13:19 manage.py
-rw-r--r--  1 vscode vscode    175 Apr  6 14:30 requirements.txt
drwxr-xr-x  6 vscode vscode    192 Apr  6 13:20 venv

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

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Python: Django",
            "type": "python",
            "request": "launch",
            "program": "${workspaceFolder}/helloworld/manage.py",
            "args": [
                "runserver",
            ],
            "django": true
        },
    ]
}

【问题讨论】:

    标签: visual-studio-code vscode-settings


    【解决方案1】:

    您无需将activate 添加到launch.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
          },
      

      请注意,上面提到了一个名为oscar 的环境变量,它指向虚拟环境。我在.bashrc 中定义oscar 是这样的:

      export oscar=/var/work/django/oscar
      

      环境变量在哪里定义无关紧要,只要在VSCode运行之前就定义好了。

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

      一个。单击它,工作区列表会从顶部下拉。

      b.选择要为其修改 Python 的工作区,然后您将看到 Python 解释器列表。你想要的可能没有显示,所以点击“我找不到我要选择的解释器...”,然后点击“查找...”。

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

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

      {
        "python.linting.pylintEnabled": true,
        "python.linting.enabled": true,
        "python.pythonPath": "/var/work/django/oscar/bin/python"
      }
      

    【讨论】:

    • 当python解释器在左下角没有(venv)我认为是系统python时,第三个答案不起作用。
    • 这不是我的经验,只需要python 解释器出现在指定位置并运行。
    猜你喜欢
    • 2015-07-10
    • 2023-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-29
    • 2019-07-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多