【问题标题】:VS Code: Python Interpreter can't find my venvVS 代码:Python 解释器找不到我的 venv
【发布时间】:2020-03-13 07:52:21
【问题描述】:

这几天我一直在纠结这个问题,如果可以的话,请帮助我。

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

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

我尝试过的事情:

  • 在工作区和用户设置中通过pythonPath 和/或venvPath 手动设置路径:
    "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”,但我已将其更正为“python.exe”,但仍然无法正常工作;
  • ~\AppData\... 位于磁盘 C:\ 而我的 venv 位于磁盘 F:。我不确定这是否相关;
  • venv 在控制台中运行良好。

【问题讨论】:

  • 斜杠是反斜杠的,在设置中,如果您查看提供的 env 路径 (~\AppData\...),您有反斜杠“\”,这对于 Windows 来说是正常的,但在您的配置中,您正在使用驱动器号 + 斜杠“/”,常见于 unix。我现在没有 Windows PC,但我会尝试稍后重现它并通知结果。
  • 我确实尝试过使用两种类型的斜线。没有运气。我可以使它工作的唯一方法是删除 venv 并重新创建它。 (请检查接受的答案)
  • 我阅读了接受的答案,这似乎有点矫枉过正......
  • 在这种特殊情况下,我没有找到其他解决方案,因此不是选择问题。我不敢苟同,虽然这不是矫枉过正,删除旧 venv、安装依赖项并重新创建它不会超过 2 分钟。

标签: python django visual-studio-code python-venv


【解决方案1】:

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

  1. 激活您的 virtualenv。转到您的虚拟环境所在的父文件夹并运行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 安装需求。

【讨论】:

  • 将需求保存到文件中应该是pip freeze > requirements.txt
  • 另外,为了完整起见,安装需求前应该激活venv
  • 这个搜索了好久,但是只需要创建一个venv,activate它,创建requirements.txt文件然后执行Python命令让Visual Studio看到venv依赖关系。当然我希望django 看到我的依赖项,所以在创建requirements.txt 文件后必须执行项目启动命令才能从venv .txt 文件中读取依赖项。
【解决方案2】:

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

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

【讨论】:

  • 不走运。我删除了venvPath,只在工作区和用户设置中添加了pythonPath,但仍然相同。编辑:值得注意的是我已经重新启动了 VS Code 和我的计算机。
  • 欢迎提出任何其他建议。如果需要,我可以提供任何其他信息。
【解决方案3】:

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

【讨论】:

  • 我遇到了同样的问题。 venv 文件夹路径的任何更改都会导致问题。
【解决方案4】:

如果你不想创建一个新的 VENV,你应该这样做 (我用的是linux)

您的问题可能是因为您将 venv 文件夹从其初始化位置移走了。

在venv/bin(在 Windows 中,我认为它直接位于“venv/”下)文件夹中有 3 个文件明确存储了您的 venv 路径 如果路径错误,它们会采用正常的 python 路径,因此您应该将那里的路径更改为新路径。

更改:set -gx VIRTUAL_ENV "what/ever/path/you/need" in activate.fish

更改:VIRTUAL_ENV="what/ever/path/you/need" in activate

将setenv VIRTUAL_ENV "what/ever/path/you/need" 更改为activate.csh

注意:路径是/venv,而不是/venv/bin

【讨论】:

    猜你喜欢
    • 2019-08-05
    • 2022-09-26
    • 1970-01-01
    • 2021-08-17
    • 1970-01-01
    • 2022-01-24
    • 1970-01-01
    • 1970-01-01
    • 2020-12-18
    相关资源
    最近更新 更多