Visual Studio 代码和 virtualenv

Visual Studio code and virtualenv

我正在尝试在虚拟环境中使用 Visual Studio 代码。在 Launch JSON 中,我指定 nosetests 启动如下:

{
    "name": "nosetests",
    "type": "python",
    "request": "launch",
    "stopOnEntry": true,
    "program": "${workspaceRoot}/env/dev/bin/nosetests",
    "args": [
        "--nocapture",
        "tests"
    ],
    "externalConsole": false,
    "debugOptions": [
        "WaitOnAbnormalExit",
        "WaitOnNormalExit"
    ]
},

但是,当我启动时,环境变量没有被拾取。我尝试在工作区设置中设置 python 路径:

"python.pythonPath": "${workspaceRoot}/env/dev/bin/python"

但它似乎没有设置正确的环境。需要有一些东西相当于源激活。有人解决了吗?

@mikebz 您需要按如下方式配置 python 可执行文件的路径:
"pythonPath":"${workspaceRoot}/env/dev/bin/python"

路径可能不是 100% 准确(请仔细检查),但这就是您需要在 launch.json.
中配置的方式 使用下一版本的 VS Code,您将不再需要执行此操作,即您不必在两个文件中配置相同的设置。

可以在此处找到有关配置调试路径的更多详细信息: https://github.com/DonJayamanne/pythonVSCode/wiki/Python-Path-and-Version#python-version-used-for-debugging

作为 2018.03,有一篇文章如何将 virtualenv 添加到每个特定工作区的 python 路径列表:https://code.visualstudio.com/docs/python/environments

你所要做的就是File->Save workspace as..然后添加到工作区virtualenv的设置:

{
    "folders": [
        {
            "path": "."
        }
    ],
    "settings": {
        "python.pythonPath": "${workspaceFolder}/.venv/bin/python"
    }
}

您需要在工作区设置文件中设置虚拟环境的路径:https://code.visualstudio.com/docs/python/environments

保存您的工作区,然后打开 <workspace_name>.code-workspace 文件并将您的虚拟环境文件夹添加到设置中:

{
    "folders": [
        {
            "path": "<path-to-your-workspace>"
        }
    ],
    "settings": {
        "python.venvPath": "<path-to-your-virtual-env-folder>"
    }
}

之后打开命令选项板 (CMD/CTRL + SHIFT + P) 并键入 select interpreter。然后从所需的虚拟环境中选择一个。