【问题标题】:python, conda: ERROR: Could not install packages due to an OSError: [WinError 5] Access is denied: 'd:\\anaconda3\\envs\\python39\\scripts\\pip.exe'python,conda:错误:由于 OSError 无法安装软件包:[WinError 5] 访问被拒绝:'d:\\anaconda3\\envs\\python39\\scripts\\pip.exe'
【发布时间】:2021-11-09 08:51:17
【问题描述】:

我尝试使用pip install -r requirements.txt 安装requirements.txt。我总是收到这个错误:

  Using cached ansicon-1.89.0-py2.py3-none-any.whl (63 kB)
Installing collected packages: ansicon, wcwidth, six, jinxed, urllib3, readchar, python-editor, python-dateutil, jmespath, idna, chardet, certifi, blessed, requests, pyyaml, pip, mypy-extensions, inquirer, click, botocore, attrs, rollbar, redis, chalice
  Attempting uninstall: pip
    Found existing installation: pip 21.3.1
    Uninstalling pip-21.3.1:
ERROR: Could not install packages due to an OSError: [WinError 5] Access is denied: 'd:\\anaconda3\\envs\\python39\\scripts\\pip.exe'
Consider using the `--user` option or check the permissions.

请注意,我使用的是 Windows 10 作为操作系统。

我发现安装过程 "removes my pip script" from Scripts,这就是为什么我运行pip install -r requirements.txt --user 我得到了

Cannot open D:\anaconda3\envs\python39\Scripts\pip-script.py

我也尝试过升级 pip 但无法升级

Cannot open D:\anaconda3\envs\python39\Scripts\pip-script.py

对于那些可能会说先尝试通过 conda 安装 pip 的人,我得到:

$ conda install pip
Collecting package metadata (current_repodata.json): done
Solving environment: done


==> WARNING: A newer version of conda exists. <==
  current version: 4.10.1
  latest version: 4.10.3

Please update conda by running

    $ conda update -n base -c defaults conda     



# All requested packages already installed.

我以管理员身份运行了该命令,我在conda 中尝试了许多版本的python。我还全局安装了 python(一旦我重新启动系统,全局 python 文件夹就会消失)。我也尝试使用 conda 安装需求文件,但在 conda 或 conda forge 通道中找不到 chalicerollbar

这是我的requirements.txt

chalice==1.23.0
requests==2.25.1
rollbar==0.15.2
redis==3.5.3

我该如何解决这个问题?

【问题讨论】:

  • 似乎操作系统无法访问 pip 文件。你可以试试pip3吗?我的意思是,“pip3 安装 ...”
  • 总是出现同样的错误
  • 通常建议使用虚拟环境,因此如果它适合您的用例,您可以这样做。
  • python venv 你的意思是我试过了,结果也总是一样。
  • 先试试 conda install pip

标签: python pip conda


【解决方案1】:

对于由于安装而丢失的脚本,使用这个:python -m ensurepip --default-pip更多,你可以检查this 你也可以在 GitHub 上查看这个问题here

什么是 ensurepip 以及何时使用它?

ensurepip 是一个支持 pip 引导的软件包。当由于某种原因跳过安装 pip 时使用它。来自文档:

在大多数情况下,Python 的最终用户不需要直接调用此模块(因为 pip 应默认引导),但如果在安装 Python 时(或创建虚拟环境时跳过安装 pip)可能需要它) 或在显式卸载 pip 之后。

查看ensurepip doc

【讨论】:

  • 非常感谢你救了我的命,但我没有得到命令的确切作用?
猜你喜欢
  • 2022-11-04
  • 2022-11-10
  • 2022-10-18
  • 2019-01-25
  • 2021-11-22
  • 2021-09-09
  • 1970-01-01
  • 2021-09-06
  • 1970-01-01
相关资源
最近更新 更多