Visual Studio Code和virtualenv

11

我正在尝试使用虚拟环境与Visual Studio Code一起工作。在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"

但是它似乎没有设置正确的环境。需要有类似于 "source activate" 的东西。有人解决了这个问题吗?


FYI:在 launch.json 中指定 Python 路径的键现在只是 python,例如 { ... "python": "${workspaceRoot}/env/dev/bin/python" ... } - Govind Rai
3个回答

14

@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


4
截止至2018年3月,有一篇关于如何针对特定工作空间将virtualenv添加到Python路径列表的文章:https://code.visualstudio.com/docs/python/environments 您只需要执行文件->另存为工作区...然后在工作区的设置中添加virtualenv即可。
{
    "folders": [
        {
            "path": "."
        }
    ],
    "settings": {
        "python.pythonPath": "${workspaceFolder}/.venv/bin/python"
    }
}

1
你需要在工作区设置文件中设置虚拟环境的路径: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。然后选择所需虚拟环境中的一个。


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