VS 代码:Python 解释器找不到我的 venv

VS Code: Python Interpreter can't find my venv

这几天一直卡在这个问题上,如果可以请帮帮我。

我的根项目文件夹中有我的 venv 文件夹。当我尝试设置 Python 解释器时,它只显示我机器上安装的 Python 而不是根文件夹中的 Python。

在我格式化我的电脑并安装 windows 10 64 位之前,它工作正常。 (在 windows 7 64 位之前是 运行)

我尝试过的事情:

    "python.pythonPath": "F:/Web Dev/Python/Django/project_x_v2/backend/venv/Scripts/python.exe",
    "python.venvPath": "F:/Web Dev/Python/Django/project_x_v2/backend/venv/Scripts/python.exe",

它在占位符中显示了正确的位置,但我无法从下拉列表中选择它:

有什么办法可以解决这个问题吗?

非常感谢。

编辑:

删除 "python.venvPath" 设置(它并不像您认为的那样),不要在您的用户设置中指定这些设置,并将您的 "python.pythonPath" 更改为相对的到您的项目,例如:

"python.pythonPath": "venv/Scripts/python.exe"

我找到的唯一解决方案是删除 venv 并重新创建它。我关注了 these steps 但我将为 Windows 提供一个简短的摘要:

  1. 激活你的虚拟环境。转到您的虚拟环境所在的父文件夹和 运行 venv\scripts\activate。请记住,名字“venv”可能会有所不同。
  2. 创建一个 requirements.txt 文件。 pip freeze requirements.txt
  3. deactivate 退出 venv
  4. rm venv删除venv
  5. py -m venv venv 创建一个新的
  6. pip install -r requirements.txt 安装要求。

在我的例子中,从 VS Code 中删除并重新创建 venv 到 select venv,或者更新 pythonPath 以指向 venv 是不够的。 VS Code 仍然无法找到 venv 或发现单元测试。问题原来是我重新组织了我的项目文件夹,所以我的项目不再位于我最初创建其先前虚拟环境的同一位置。唯一可行的解​​决方案是删除 venv,将项目移回之前所在的同一父文件夹,然后创建一个新的 venv。

对我有用的简单解决方案如下:

  1. 打开 VS 代码终端
  2. 导航(从您的项目文件夹)到包含环境的文件夹并激活如下:
source your_evn/bin/activate

3.Navigate 回到你的项目文件夹

我找到了一个适用于 wsl 用户的解决方案,也许你们中的一些人正在遇到这种情况。

如果你在wsl模式下创建虚拟环境Windows将永远找不到python文件,因为Linux系统中没有.exe,所以激活方式是

cd [folder where you have your venv]

activate folder -> source venv/bin/activate

激活 venv 后打开 vs code

code .

您将激活环境。