如何在VS Code中为Python设置虚拟环境?

Hrv*_*e T 14 python visual-studio-code

在我的项目文件夹中,创建了venv文件夹。

python -m venv venv
Run Code Online (Sandbox Code Playgroud)

当我在VS Code中运行命令时,select python interpreter我的venv文件夹未显示。我像这里建议的那样上了一层,但是VS Code没有看到我的虚拟解释器。

我错过了什么?

Nei*_*eil 82

使用较新的 Visual Studio Code 版本非常简单。

在项目文件夹中打开 Visual Studio Code。

然后打开Python的终端Ctrl+ Shift+ P:Python的:创建终端)

在终端:

python -m venv venv
Run Code Online (Sandbox Code Playgroud)

然后,您将看到以下对话框:

在此处输入图片说明

点击Yes; 并且您的 venv 已准备就绪。

内VSCode打开一个新的终端Ctrl+ Shift+ P,你会看到VENV是越来越捞起; 例如:(venv) ...

您现在可以像往常一样安装软件包,例如, pip install sklearn

要跟踪已安装的内容: pip freeze > requirements.txt


对于旧版本的 VSCode,您可能还需要执行以下操作:

然后Python: Select Interpreter(通过Ctrl+ Shift+ P

并选择选项(在我的情况下朝向底部)

Python 3.7 (venv) ./venv/Scripts/python.exe

如果你看到

Activate.ps1 没有数字签名。您无法在当前系统上运行此脚本。

您需要执行以下操作:https : //stackoverflow.com/a/18713789/2705777

有关更多信息,请参阅:全局、虚拟和 conda 环境

安装模块

Ctrl+ Shift+P终端:新建综合终端

从终端

视窗: .\.venv\Scripts\activate

Linux: .\.venv\bin\activate

您现在可以像往常一样安装软件包,例如pip install sklearn.

对于Jupyter,你需要做更多——Visual Studio Code 中的 Jupyter notebooks 不使用活动的虚拟环境

  • 如果我的虚拟环境已经存在怎么办? (3认同)
  • 感谢您提供更新的答案。这应该被视为新的公认解决方案。 (2认同)
  • 是的,这里同样的问题。我按照说明进行操作,弹出窗口从未显示。 (2认同)
  • @Timo,您必须在系统终端中运行它,而不是 VSCode 终端。只需打开 VSC 终端并输入/选择“Python:创建终端”即可在 VSC 内创建终端选项卡,然后您可以创建虚拟环境,或者您可以在项目路径中打开一个终端并准备创建 (2认同)

I_A*_*ary 52

如果您已经有了virtualenvs,您只需打开 VSCode 首选项(Ctrl + ,)并搜索venv. 然后将路径添加 virtualenvs\xe2\x80\x9cVenv Path\xe2\x80\x9d设置中,如下所示:

\n

在此输入图像描述

\n

更多信息可以在这里找到:\n https://techinscribed.com/python-virtual-environment-in-vscode/

\n

  • 这是最好的答案!单独更改解释器以指向 venv 中的 python 符号链接会选择正确的解释器,但无法找到 venv 中安装的软件包。通过这个解决方案,vs code 也可以找到包。 (11认同)
  • 唯一的工作解决方案 (6认同)
  • 你救了我的命!我创建了一个 Youtube 视频,以便人们更容易关注:https://youtu.be/DB5-JiYWMNs (6认同)

Sam*_*Sam 21

每当我使用venv处理VS-Code时,我几乎都会遇到相同的问题。我按照以下步骤操作,希望对您有所帮助:

  1. 转到File > preferences > Settings
  2. 点击Workspace settings
  3. 在下Files:Association,您会找到Edit in settings.json,然后单击。
  4. "python.pythonPath": "Your_venv_path/bin/python"在工作空间设置下更新。(对于Windows):"python.pythonPath": "Your_venv_path/Scripts/python.exe"在工作空间设置下更新。

  5. 万一仍然没有显示您的venv,请重新启动VSCode。

更新:

-我已经使用vs代码已有一段时间了,发现了另一种在vs代码中显示虚拟环境的方法。

  • venv通过命令提示符转到上级文件夹。
  • 键入code .并回车。[为我在Windows和Linux上工作。]
  • 这也应该显示该文件夹中存在的虚拟环境。

  • 好吧,我把它弄糊涂了。在一个名为Python的工作空间文件夹中,我添加了所有其他项目。因此,对于工作区文件夹Python,我将只需要一个venv。我从工作区中删除了Python文件夹,并在Python文件夹中将每个子文件夹添加为工作区项目,例如Project1,Project2等。在该Project文件夹中,我创建了venv环境,并为工作区编辑了settings.json。使用此`“ python.venvPath”:“ venv”`。现在,对于每个新项目,我将创建一个新的工作区,并且在该文件夹中放有将自动识别的“ venv”文件夹。 (3认同)
  • 是的,您不必费心让 VS Code 识别您的虚拟环境。该文件夹就在您打开 VS Code 的目录中。如果 VS Code 团队真的想支持 Python,他们应该解决这个问题。不可能这么难。 (2认同)

rat*_*esh 12

创建虚拟环境的步骤:

  1. 转到包含项目的文件夹
  2. python3 -m venv evn_name
  3. source evn_name/bin/activate
  4. 现在您将能够在每个终端行前面看到 (env_name)

现在您可以在虚拟环境中安装所需的库

  1. pip3 install -r requirement.txt
  2. 如果需要重新启动代码编辑器

要停止在虚拟环境中工作,请输入:deactivate

删除虚拟环境类型:rm -rf evn_name


The*_*gon 10

我遇到了同样的问题,直到我发现我试图使我的项目目录和虚拟环境相同 - 这是不正确的。

我有一个\Code\Python目录,用于存储我所有的 Python 项目。我的 Python 3 安装在我的路径上。

如果我想用自己的虚拟环境创建一个新的 Python 项目(Project1),那么我这样做:

python -m venv Code\Python\Project1\venv
Run Code Online (Sandbox Code Playgroud)

然后,只需在 Visual Studio Code 中打开文件夹 (Project1) 即可确保使用正确的虚拟环境。


小智 8

我在不更改 Python 路径的情况下解决了该问题,因为这对我来说似乎不是正确的解决方案。以下解决方案对我有用,希望它也适用于您:))

  1. 在 Windows / shell 中打开 cmd 在 Linux/Mac 中。

  2. 激活您的 virtualenv(如果使用 PowerShell,请使用 source activate / activate.bat / activate.ps1)

    C:\Users\<myUserName>\Videos\myFolder>django-project\Scripts\activate.bat (django-project) C:\Users\<myUserName>\Videos\myFolder>

  3. 导航到您的项目目录并在那里打开 Visual Studio Code。

    (django-project) C:\Users\prash\Videos\myFolder\projects>code .

  4. 在 Visual Studio Code 中,转到菜单File ? 偏好设置(别担心你不需要打开 JSON 文件)

  5. 在设置搜索栏中,搜索 virtual / venv 并点击Enter。您应该在搜索栏中找到以下内容:

Python: Venv Folders 在你的主目录中查找虚拟环境的文件夹(默认支持 pyenv、direnv 和 virtualenvwrapper)。

  1. 添加一个项目,然后输入其中包含激活文件的 virtuanenv 脚本的路径。例如,在我的系统中,它是:

    C:\Users\<myUserName>\Videos\myFolder\django-project\Scripts\

  2. 保存并重新启动 Visual Studio Code。

  3. 要重新启动,请再次打开 cmd,导航到您的项目路径并打开 Visual Studio Code。(请注意,在从 cmd 打开 Visual Studio Code 之前,应在 cmd 中激活您的 venv)

从 cmd 打开 Visual Studio Code 的命令:

code .
Run Code Online (Sandbox Code Playgroud)

如何在 Visual Studio Code 中设置 virtualenv


Car*_*cia 7

这是 Sumit S Chawla 答案的补充,虽然它是正确的,但忽略了这样一个事实:每当您在 Visual Studio Code 中打开文件夹时,它都会创建一个.vscode文件夹,但这些文件夹可以是多个,在您最终打开时创建一个目录。

.vscode文件夹包含包含“setting.json”等属性的 JSON 对象,其中声明要在“.vscode”级别使用的解释器(请参阅什么是 Visual Studio Code的“工作区”?以获取更多说明) )。

{
   {
     "python.pythonPath": "VirtualEnPath/bin/python3.6"
   }
}
Run Code Online (Sandbox Code Playgroud)

因此,您可能可以在虚拟环境中的另一个级别打开 Visual Studio Code。它创建了另一个.vscode文件夹,该文件夹假定为全局计算机的 Python 目录,因此出现这样的错误,并且我是否经历过与虚拟环境是否激活无关的情况。

这确实是发生在我身上的事情。我确实有一个 DjangoRESTAPI_GEN 文件夹,我最初在其中打开 IDE,它确实识别了虚拟环境 Python 路径。然后几天后,我在 Git 所在的级别打开它,所以它确实创建了另一个.vscode文件夹,该文件夹选择了全局 Python 解释器,导致我在虚拟环境中的 lint 没有被使用。

并且虚拟环境解释器甚至没有显示在“选择python解释器”中。但正如所写,在.vscode文件夹所在级别打开 IDE ,该文件夹具有正确路径的settings.json文件,它确实如此。

在setting.json文件中设置正确的路径并选择虚拟环境解释器后,Visual Studio Code将自动在其终端中激活虚拟环境:

在此输入图像描述


Ale*_*lon 6

很多人都提到了这个python.pythonPath方法。

另一种方法是添加一个envFilelaunch.json这样的:

    {
        "name": "Run",
        "etc": "etc",
        "envFile": "${workspaceFolder}/venv"
    }
Run Code Online (Sandbox Code Playgroud)


Mar*_*ink 5

有一个名为“Python Auto Venv”的 Visual Studio Code 扩展,它会自动检测并使用您的虚拟环境(如果有)。


que*_*o42 5

对于 Anaconda 用户:只需使用Conda创建一个 venv ,请参见此处。然后,打开 Visual Studio Code 并左键单击左下角 Visual Studio Code 中显示的 Visual Studio Code 解释器:

Visual Studio Code 解释器信息

选择一个在设置窗口下拉菜单中弹出的虚拟环境,就大功告成了。