在 Visual Studio Code 中自动激活虚拟环境

Pyt*_*bie 15 python virtualenv visual-studio-code vscode-settings

我希望 VS Code 在运行时打开 venv,但我找不到如何做到这一点。我已经尝试将这一行添加到 settings.json 中:

"terminal.integrated.shellArgs.windows": ["source${workspaceFolder}\env\Scripts\activate"]

但是,它给我一个 127 错误代码。我发现了 127 代码的含义。这意味着,Not found。但是,如果我现在看到我眼中的 venv 文件夹,怎么找不到它?

我认为是终端故障。我正在将 Win 10 与 Git Bash 终端一起使用,这是在您将 Git 安装到您的机器时出现的。

Aht*_*ham 19

这就是我在 2021 年的做法:

  1. 输入Ctrl+ Shift+P在VS的代码。

  2. 找到您的虚拟环境:

    Python:选择解释器>输入解释器路径>查找

  3. 找到您的虚拟环境后,选择您的 Python 版本:

    your-virtual-env > bin > python3

  4. 现在在您的项目中,您将看到创建的.vscode目录在其中打开settings.json并添加:

    "python.terminal.activateEnvironment": true

    不要忘记在将它与已经存在的键值对分开之前添加逗号。

  5. 现在重新启动终端。

您应该会看到您的虚拟环境自动激活。

  • 我的 .vscode 目录中没有“settings.json”文件。只是 argv.json 和 launch.json (3认同)
  • 如果您没有“settings.json”甚至“.vscode”,您可以执行“Ctrl”+“Shift”+“P”并输入“首选项:打开工作区设置(JSON)”,而不是手动创建它 (2认同)

r.o*_*ook 17

你根本不需要这条线。只需删除它并切换你的 Python 解释器以指向你的venv. 这是相关文档(斜体强调我的):

要选择特定环境,请使用Python: 从命令面板 ( Ctrl+ Shift+ P) 中选择解释器命令。

...并使用终端打开终端:创建新的集成终端 命令。在后一种情况下,VS Code 会自动激活所选环境。

切换解释器后,VS 代码应.vscode在您的工作区中创建一个文件夹,其中settings.json指示 Python 解释器。这将为 VS 代码提供定位venv.


Err*_*rri 10

实际上,早先建议的解决方案对我不起作用,而是在我的设置中添加了以下内容:

"settings": {
    "python.terminal.activateEnvInCurrentTerminal": true,
    "python.defaultInterpreterPath": "~/venv/bin/python"
}
Run Code Online (Sandbox Code Playgroud)

当然,用你自己的路径替换 defaultInterpreterPath(曾经是 pythonPath)设置(所以不要复制/粘贴第二行)。


Yon*_*hik 5

有一个可以使用的新标志: "python.terminal.activateEnvironment": true


Aka*_*ph7 5

如果 VS Code 可以找到您的解释器,它应该默认执行此操作。

如果由于某种原因它不能或位于其他文件夹中,最好的方法是遵循以下两个简单的步骤:

  1. 为当前文件夹/工作区设置解释器

    A。从 VS Code输入Ctrl+ Shift+P

    b. 选择“Python:选择解释器”

    C。通过以下任一方式找到适当的虚拟环境:

    • 从列表中的选项中选择它
    • 或者单击“输入解释器路径...”,然后单击“查找...”,然后找到正确的解释器/Python 可执行文件
  2. 在您的中设置所需的配置settings.json

    • 确保环境在窗口打开时自动激活:
      "python.terminal.activateEnvInCurrentTerminal": true
      
      Run Code Online (Sandbox Code Playgroud)
    • (可选)在内部,默认"python.terminal.activateEnvironment"设置为。true要默认情况下不为新终端自动激活此环境,请将其设置为false您的settings.json.
  3. (可选)您还可以将defaultInterpreterPathVS Code 文件夹和工作区默认使用的 Python 解释器。但如果您的不同文件夹/工作空间在本地有多个环境,您可能希望避免这样做。

    "python.defaultInterpreterPath": "/path/to/bin/python"
    
    Run Code Online (Sandbox Code Playgroud)

来源:VS Code 文档

注意:如果在打开新的 VS Code 窗口时有多个“历史记录恢复”窗口,这似乎不适用于所有终端窗口。