Windows 10上的python无法在虚拟环境中升级模块

时间:2020-11-12 19:06:49

标签: python windows pip virtualenv

我被迫在Windows 10上开发python脚本,这是我以前从未做过的。 我已经使用Windows Installer软件包将python 3.9安装到C:\ Program Files \ Python目录中。 这个目录是针对普通用户的写保护的,我不想提升为admin,因此在全局使用pip时,我使用--user开关,并且python将模块安装到C:\ Users \ AppData \ Roaming \ Python \ Python39 \ site-packages和脚本到C:\ Users <用户> \ AppData \ Roaming \ Python \ Python39 \ Scripts目录。 我不知道他如何设定这条怪异的道路,但至少它正在起作用。我已将此路径添加到用户的%Path%变量中。

当我尝试使用虚拟环境并升级pip时,问题开始了:

  • 我已经在本地计算机上的C:\ Users \ Projects 中创建了新项目,并在终端中输入了路径。
  • python -m venv venv
  • 来源venv \ Scrips \ activate
  • pip install --upgrade pip

但是我得到了错误:

错误:由于环境错误而无法安装软件包:[WinError 5]访问被拒绝:'C:\ Users \\ AppData \ Local \ Temp \ pip-uninstall-7jcd65xy \ pip.exe' 考虑使用--user选项或检查权限。

因此,当我尝试使用--user标志时,我得到:

错误:无法执行'--user'安装。用户站点包在此virtualenv中不可见。

所以我的问题是:

  • 为什么不尝试在虚拟环境(venv \ Scripts \ pip.exe)中安装所有内容?
  • 当该文件夹归我的用户所有时,我如何拒绝访问?

使用不推荐使用的easy_install --upgrade pip时,一切正常。

1 个答案:

答案 0 :(得分:1)

我最近在其他模块上遇到了同样的问题。我的解决方案只是从python 3.9降级到3.7。或为3.7创建一个虚拟环境并使用它,并查看其工作原理。