VS代码无法识别Python虚拟环境

时间:2019-06-18 15:57:31

标签: python visual-studio-code vscode-code-runner

我在Mac上使用VS Code编写Python代码。我在项目文件夹中创建了一个名为“ venv”的虚拟环境,并在项目文件夹中打开了VS Code。我可以在“资源管理器”窗格中看到venv文件夹。但是,如果我将包安装到虚拟环境中,然后尝试将包导入Python模块中,然后运行该模块,则VS Code会引发ModuleNotFound错误,提示没有模块。

我遵循VS代码文档Using Python environments in VS Code中的说明,方法是打开命令面板,选择Python:选择解释器,然后选择“ venv / bin /文件夹”。但是当我这样做时,我得到了这个错误:

Failed to set 'pythonPath'. Error: Unable to write into folder settings.  Please open the 'my_project' folder settings to correct errors/warnings in it and try again.

这些“文件夹设置”是什么?我在上面引用的文档中没有看到任何有关虚拟环境目录的文件夹设置的信息。

环境:
VS代码1.35.1
适用于VS Code 0.2.3的Python
Python 3.7.1

更新

根据@khuynh的建议,我打开settings.json并发现一个错误,该错误是我试图用“ //”注释掉一行。我没有意识到JSON文件不能包含注释。

删除该行之后,我再次运行“ Python:选择解释器”,但是这次出现了一个在顶部显示.vscode > settings.json >> code-runner.executorMap.python的标签。该选项卡包含以下代码:

    {
        "python.pythonPath": "/usr/local/bin/python3"
        "code-runner.executorMap.python": "python3 -u"
    }

“ code-runner.executorMap.python”下方有一条红色的波浪线,“问题”窗口下方显示“未知配置设置”。我不知道此设置有什么问题。

4 个答案:

答案 0 :(得分:1)

要在具有python虚拟环境的Mac上设置Visual Studio Code,请使用快捷方式“ command + shift + p

在Visual Studio Code中编辑JSON工作区设置。

Preferences: Open Workspace Settings (JSON)

在Visual Studio代码版本:1.45.1中,workspace.json设置如下:

{
    "folders": [
          {
              "path": "/Users/me/Documents/Projects/djangoproject"
          }
      ],
      "settings": {
          "python.pythonPath": "/Users/me/virtualenvs/djangovenv/bin/python3"
      }
}

在Mac上打开新的bash终端时,这将自动激活python虚拟环境。

答案 1 :(得分:0)

听起来像是直接打开Python文件,而不是打开包含该文件的文件夹。如果您选择后者,则可以在设置中指定Python解释器。

否则,您可能会遇到权限错误,无法创建.vscode文件夹来保存设置。

答案 2 :(得分:0)

如果工作场所设置文件中有错误,则选择Python解释器将不起作用。在“ python.pythonPath”行之后,您缺少逗号。

(我看到其他人在评论中回答了这个问题,但我想发布一个Answer,以使其他人更容易找到它。)

答案 3 :(得分:0)

现在,从工作PC移到家用PC后,我在外部驱动器上重新打开了VS Code工作区,并遇到此错误。

我通过打开VS代码设置cmd + shift + p解决了它,然后键入“设置”并选择选项“首选项:打开设置(JSON)”

然后我编辑了这一行: "python.pythonPath": "C:\\Python37\\python3.exe",

到以下内容(检查python可执行文件的路径): "python.pythonPath": "C:\\Python37\\python.exe",

要修复。

更新: 我想到的是,下周从工作计算机访问该项目时,我可能会再次遇到此问题,因为在那里安装了其他python版本。将发布结果