【发布时间】:2021-01-21 16:49:14
【问题描述】:
正如标题所解释的,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 说找不到。但是上面描述的相对路径确实有效。
【问题讨论】:
-
Path 环境变量是什么样的?那里有
./venv/Scripts文件夹吗?你在路径中看到什么不寻常的东西吗? -
路径变量在顶部有
./venv/Scripts文件夹,在python安装文件夹之前。所以奇怪的是powershell忽略了...
标签: python powershell virtualenv