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 文件夹,因此路径指向错误的位置
如标题所述,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 文件夹,因此路径指向错误的位置