venv 在 powershell 中使用了错误的解释器

venv using the wrong interpreter in powershell

如标题所述,powershell 在虚拟环境中使用了错误的 python 和 pip 可执行文件。

我使用 python -m venv venv 创建了虚拟环境并使用 ./venv/Scripts/Activate.ps1

激活了它

激活脚本按预期运行,在 shell 的左侧我可以看到: (venv) P: C:\path 表示虚拟环境已激活。但是,当我写 python 或 pip 时,powershell 使用系统范围的二进制文件而不是虚拟环境中的二进制文件。因此,当我尝试使用 pip 安装软件包时,它们会在系统范围内安装,而不是在 venv 中安装。

我可以使用 ./venv/Scripts/python.exe -m pip 并在虚拟环境中以这种方式安装软件包。虽然此解决方法相当乏味,但想知道是否有人知道解决根本问题的方法?

编辑 1:路径变量包含 C:\path\to\venv\Scripts 文件夹作为顶部条目。但是,使用绝对路径 C:\path\to\venv\Scripts\python.exe 不起作用。 Powershell 说找不到。但是上面描述的相对路径确实有效。

找到问题了! 我在创建后不小心重命名了 venv 文件夹,因此路径指向错误的位置