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

How to setup virtual environment for Python in VS Code?

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

1
python -m venv venv

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

我错过了什么?


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

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

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

  • 更新:

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

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


    使用更新的VS Code版本,它非常简单。

    在项目的文件夹中打开VS Code。

    然后打开Python Terminal(Ctrl-Shift-P:Python:创建终端)

    在终端中:

    1
    python -m venv .venv

    您将看到以下对话框:
    enter image description here

    点击Yes

    然后Python: Select Interpreter(通过Ctrl-Shift-P键)

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

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

    如果你看到

    Activate.ps1 is not digitally signed. You cannot run this script on the current system.

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

    有关更多信息,请参见:https://code.visualstudio.com/docs/python/environments#_global-virtual-and-conda-environments


    我遇到了同样的问题,直到我弄清楚了我试图使我的项目目录和虚拟环境完全相同–这是不正确的。

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

    如果要使用自己的虚拟环境创建一个新的Python项目(Project1),请执行以下操作:

    1
    python -m venv Code\\Python\\Project1\\venv

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


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

  • 在Linux / Mac中的Windows / Shell中打开cmd。
  • 激活您的virtualenv(如果使用电源外壳,则使用源activate /activate.bat/activate.ps1)

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

  • 导航到您的项目目录,然后在此处打开vscode。

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

  • 在VS Code中,转到文件->首选项->设置(不用担心,您不需要打开json文件)

  • 在设置搜索栏中搜索virtual / venv,然后按Enter。您应该在搜索栏中找到以下内容:

  • Python: Venv Folders Folders in your home directory to look into for
    virtual environments (supports pyenv, direnv and virtualenvwrapper by
    default).

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

    C:\\Users\\\\Videos\\myFolder\\django-project\\Scripts\\

  • 保存并重新启动VS Code。

  • 要重新启动,请再次打开cmd,导航到您的项目路径并打开vs代码。
    (请注意,打开vsv来自cmd的代码之前,应该在cmd中激活您的venv)

  • Command to open vs code from cmd:

    1
    code .

    How to setup virtualenv in VS code


    许多人提到了python.pythonPath方法。

    另一种方法是像这样在launch.json中添加envFile

    1
    2
    3
    4
    5
        {
           "name":"Run",
           "etc":"etc",
           "envFile":"${workspaceFolder}/venv"
        }


    这是对@Sam答案的补充,尽管正确,但缺少在Visual Studio代码中每次打开文件夹时都会创建一个.vscode文件夹的事实,但是在最终打开目录时可以创建多个文件夹。 .vscode文件夹具有JSON对象,这些对象包含诸如" setting.json"之类的属性,其中的一个声明了要在" .vscode"级别使用的解释器(有关更多说明,请参考此内容。VS Code中的工作空间是什么?)。

    1
    2
    3
    4
    5
    {
       {
        "python.pythonPath":"VirtualEnPath/bin/python3.6"
       }
    }

    因此,潜在地,您可以在虚拟环境中的另一个级别打开VS代码,它会创建另一个.vscode文件夹,该文件夹假定该全局计算机的目录为Python目录,因此会出现此类错误,并且如果虚拟环境是是否激活。

    这确实发生在我身上,我确实有一个DjangoRESTAPI_GEN文件夹,我最初在其中打开了IDE,并且它确实识别了Virtual Env Python路径,几天后,我在git所在的级别将其打开,因此它确实创建了另一个.vscode,它选择了全局Python解释器,导致我在虚拟环境中的皮棉未被使用,并且虚拟环境解释器甚至没有显示在" select python解释器"中。但是,正如在以具有正确路径的settings.json的.vscode级别打开IDE一样,它确实可以。

    在setting.json中设置正确的路径并选择虚拟env解释器后,VS Code将自动在其终端中激活VE

    enter image description here


    有一个称为" Python Auto Venv"的VSCode扩展,可以自动检测并使用您的虚拟环境(如果有)。


    我遇到了同样的问题,解决方案非常简单:

    "If you create a new conda environment while VS Code is running, use
    the Reload Window command to refresh the environment list shown with
    Python: Select Interpreter; otherwise you may not see the environment
    there. It might take a short time to appear; if you don't see it at
    first, wait 15 seconds then try using the command again."

    那是写在Vscode网站上的

    注意:要重新加载窗口:在Vscode中按ctrl + shift + p,然后编写重新加载窗口


    我遇到了同样的问题,这是因为未更新PowerShell。有时Windows保留版本2. *,而我不得不手动下载并安装版本3。
    解决该问题后,我可以很好地使用虚拟环境。


    您是否激活了环境?您也可以尝试以下方法:
    vscode选择venv


    在vscode中选择文件夹并创建WS,它将正常工作