pip安装 - 权限错误:[Errno 13] 权限被拒绝

3

环境

  • Windows 8.1
  • Python 3.5
  • Anaconda

问题

当我执行 pip install sklearn --upgrade 命令时,出现以下错误:

Exception:
Traceback (most recent call last):
  File "d:\anaconda3\lib\site-packages\pip\basecommand.py", line 209, in main
    status = self.run(options, args)
  File "d:\anaconda3\lib\site-packages\pip\commands\install.py", line 317, in run
    prefix=options.prefix_path,
  File "d:\anaconda3\lib\site-packages\pip\req\req_set.py", line 732, in install
    **kwargs
  File "d:\anaconda3\lib\site-packages\pip\req\req_install.py", line 835, in install
    self.move_wheel_files(self.source_dir, root=root, prefix=prefix)
  File "d:\anaconda3\lib\site-packages\pip\req\req_install.py", line 1030, in move_wheel_files
    isolated=self.isolated,
  File "d:\anaconda3\lib\site-packages\pip\wheel.py", line 344, in move_wheel_files
    clobber(source, lib_dir, True)
  File "d:\anaconda3\lib\site-packages\pip\wheel.py", line 322, in clobber
    shutil.copyfile(srcfile, destfile)
  File "d:\anaconda3\lib\shutil.py", line 115, in copyfile
    with open(dst, 'wb') as fdst:
PermissionError: [Errno 13] Permission denied: 'd:\\anaconda3\\Lib\\site-packages\\sklearn\\utils\\m
urmurhash.cp35-win_amd64.pyd'

命令提示符已作为管理员运行,因此我拥有权限。

我应该怎么做?任何建议将不胜感激。


2
pip在替换已加载的EXE和DLL文件(PYD是DLL的一种)方面表现非常糟糕。这些文件无法被删除或覆盖,但可以将它们重命名到同一磁盘卷上的临时目录中以将其移开。pip甚至不尝试这样做。 - Eryk Sun
2个回答

5

您是否已安装像numpyscipy这样的依赖库?请检查后我们将继续。

最终解决方案: 尝试使用conda,例如conda install scikit-learn=_version_


我已经拥有它们。但是当我尝试升级它们时,出现了相同的问题。 - dixhom
1
嗯,为什么不试试在那里使用 conda 呢?比如 conda install scikit-learn=_version_ @dixhom - aquaman
好的,我将使用这个解决方案更新我的答案。别忘了点赞,我想要更多的声望,你知道的吧?;) @dixhom - aquaman
2
在我的情况下,这是一个不同的包。我改变了文件的权限,但没有帮助。最后,我只是删除了文件(基本上将其作为备份移动到另一个位置)。再次运行命令时,它运行了,并且该包也被pip恢复了。 - Bhanu Pratap Singh

0

以下是我在安装了Anaconda Python 3.6的Windows 10电脑上解决此问题的步骤:

  • 以管理员身份打开Anaconda提示窗口
  • 运行pip uninstall kivy命令
  • 运行pip install kivy命令
  • 运行pip install docutils pygments pypiwin32 kivy.deps.sdl2命令

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接