由于环境错误而无法安装软件包:[WinError 5]访问被拒绝:


88

我有Windows 10.我已经完成安装Tensorflow。有用。它说“你好Tensorflow!”。但是它具有所有这些:

2018-08-18 18:16:01.500579: I T:\src\github\tensorflow\tensorflow\core\platform\cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 2018-08-18 18:16:01.769002: I T:\src\github\tensorflow\tensorflow\core\common_runtime\gpu\gpu_device.cc:1405] Found device 0 with properties: name: GeForce GTX 950 major: 5 minor: 2 memoryClockRate(GHz): 1.3545 pciBusID: 0000:01:00.0 totalMemory: 2.00GiB freeMemory: 1.64GiB 2018-08-18 18:16:01.774030: I T:\src\github\tensorflow\tensorflow\core\common_runtime\gpu\gpu_device.cc:1484] Adding visible gpu devices: 0 2018-08-18 18:16:02.095489: I T:\src\github\tensorflow\tensorflow\core\common_runtime\gpu\gpu_device.cc:965] Device interconnect StreamExecutor with strength 1 edge matrix: 2018-08-18 18:16:02.099093: I T:\src\github\tensorflow\tensorflow\core\common_runtime\gpu\gpu_device.cc:971] 0 2018-08-18 18:16:02.100631: I T:\src\github\tensorflow\tensorflow\core\common_runtime\gpu\gpu_device.cc:984] 0: N 2018-08-18 18:16:02.102156: I T:\src\github\tensorflow\tensorflow\core\common_runtime\gpu\gpu_device.cc:1097] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 1401 MB memory) -> physical GPU (device: 0, name: GeForce GTX 950, pci bus id: 0000:01:00.0, compute capability: 5.2) Hello Tensorflow!

进程返回0(0x0)执行时间:2.327 s按任意键继续

当我输入pip3 install --upgrade tensorflow-gpucmb时,无论是管理用户还是普通用户,我都会得到Could not install packages due to an EnvironmentError: [WinError 5] Access is denied: 'c:\\users\\dylan\\appdata\\local\\programs\\python\\python35\\Lib\\site-packages\\numpy\\.libs\\libopenblas.BNVRK7633HSX7YVO2TADGR4A5KEKXJAW.gfortran-win_amd64.dll' Consider using the--user,option or check the permissions.请帮帮我。不是计算机科学家或工程师。但是我编码很有趣。


15
添加--userpip3安装命令。
Zain Patel

6
我不明白为什么我们现在必须使用--user?因为据说这会安装到用户目录中,所以可能不是您想要的。 Install to the Python user install directory for your platform. Typically ~/.local/, or %APPDATA%\Python on Windows. (See the Python documentation for site.USER_BASE for full details.)
not2qubit

2
我真的不想安装到用户目录中并且以管理员身份运行CMD会给我同样的错误。
Michael Szczepaniak

Answers:


80

如果您不想更改权限,只需输入要执行的具有用户权限的命令:

pip3 install --upgrade tensorflow-gpu --user

3
@Dylan Cooper,请接受此答案,这样就不必逐年挖掘答案了
PolarBear10

34

使用'--user'运行相同的命令


错误消息建议此“考虑使用该--user选项或检查权限”。我添加了--user,它已经解决了
thanos.a

因此,无论在不带'--user'的情况下使用命令还是没有区别?因为你似乎什么假设...
分钟

16

我发现如果以管理员身份运行CMD并运行命令,则可以毫无问题地安装它。试试看,给我一些反馈。


这并在安装Python之后重新启动对我有用。
Ryan_S

这对我有用。奇怪的是,即使Windows Terminal作为Administrator也无法正常工作。
howdoicode

为我工作。有趣的是,只有以管理员身份打开CMD才起作用,而以管理员身份打开Git Bash却没有。
Shlomi A

的确确实如此,奇怪的是Windows PowerShell作为管理员显示了拒绝访问消息并说安装失败,但实际上也确实完成了这项工作
Joris

11

只需更改访问许可,即可安装特定软件包。

以我为例Windows10

  • 转到“ C:\ Program Files(x86)\ Python37”
  • 右键单击Python37文件夹,然后单击属性
  • 转到“安全性”标签,然后单击“编辑”按钮允许完全控制。
  • 再次打开新的cmd终端,然后尝试再次安装该软件包。


9

我正在将tensorflow升级到1.4.0,并且由于无法解决此错误而无法解决,但终于解决了。你猜怎么了?

我的一个python脚本正在运行,并且正在使用tensorflow😂😂。软件包在关闭后已成功安装。👍


1
这里同样的问题。
Florin Marcus

我想我有同样的问题。尽管我通过任务管理器杀死了所有的python实例,但是在重启计算机后我仍然能够安装它。
mKay

7

对于我(在Windows中),我必须重新启动终端并以管理员身份运行它(如果您正在使用pycharm终端,只需关闭pycharm,然后以管理员身份重新打开它,然后再试一次),这解决了问题,安装成功。

祝好运


3

要安装tensorflow,请使用包括--User在内的此命令。

pip install --ignore-installed --upgrade --user tensorflow==2.0.1

这里的2.0.1是tensorflow的版本。


2

在搜索中键入TYPE CMD,并且当命令提示符出现在BEST MATCH搜索结果中时,右键单击它,并在用户控制窗口出现时选择“以管理员身份运行”,然后选择“是”。命令提示符窗口将出现,您应该看到“ C:/ WINDOWS / system32>”

此时只需键入您想要的内容,就可以正常工作!


2

使用-升级Windows中的点

python -m pip install-升级pip

然后使用--user选项运行pip install-

pip install --user package_name

解决了我的问题。


2

当上述所有方法均失败时,我可以scikit-learn按照官方网站https://scikit-learn.org/stable/install.html的说明进行安装。

Windows上的文件路径长度限制引起的错误

如果将Python安装在嵌套位置(例如用户主目录下的AppData文件夹结构)中,则达到Windows的默认路径大小限制时,pip可能无法安装软件包,例如:

Collecting scikit-learn
...
Installing collected packages: scikit-learn
ERROR: Could not install packages due to an EnvironmentError: [Errno 2] No such file or directory: 'C:\\Users\\username\\AppData\\Local\\Packages\\PythonSoftwareFoundation.Python.3.7_qbz5n2kfra8p0\\LocalCache\\local-packages\\Python37\\site-packages\\sklearn\\datasets\\tests\\data\\openml\\292\\api-v1-json-data-list-data_name-australian-limit-2-data_version-1-status-deactivated.json.gz'

在这种情况下,可以使用regedit工具在Windows注册表中提高该限制:

在Windows开始菜单中键入“ regedit”以启动regedit。

转到Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem关键。

编辑该LongPathsEnabled键的属性的值并将其设置为1。

重新安装scikit-learn(忽略以前的错误安装):

pip install --exists-action=i scikit-learn


2

这应该工作

pip install --user requests

1
为什么会起作用。提供更多关于您答案的解释。
DevMike01

2

正如错误中提到的那样,没有--user,因此您必须执行以下步骤

  1. 打开cmd或anaconda Navigator
  2. 打开您的python安装目录(对于Anaconda导航器,您已经指定了C:/ cd Anaconda之类的路径
  3. 然后最后是python -m pip install --user somepackagename

1

天啊。这里有很多错误的答案。好的意思,但有误导性。我通常可以处理Mac / Linux上的权限。这些天,Windows对我来说是新的。这就是我的问题。

  1. 创建一个virtualenv-好的
  2. activate我的virtualenv-失败。需要范围来运行powershell。Windows很有用,它会告诉您要运行.ps才能准确运行的命令。有点像,chmod但执行力scope我认为是很好的。
  3. 现在,如果您已完成上述工作并安装了一些软件包,那就很好了。直到你突然不能。然后,您会收到此权限错误。
  4. 您或其他进程确实在pip安装软件包的文件夹上设置了权限。即...site-packages/就我而言,我怀疑是OneDrive或某些权限继承。

理想的前进方式是检查权限。这很难,但您是Python开发人员,不是吗!首先检查您自己的用户。

  1. whoami 例如mycomputer \ vangel
  2. Get-Acl <path which is an issue>
  3. 在Python安装文件夹或您的virtualenv上,右键单击并转到“安全性”选项卡。单击高级并查看权限。我删除了所有继承的权限以及其他用户等,并添加了whoami具有完全权限的用户显式权限。然后应用于所有对象。

请勿在未验证以下步骤的情况下进行操作。仔细阅读信息。

绝不是解决所有可能影响您的权限问题的解决方案。我只能提供有关如何进行故障排除的指导,希望您能解决。

--user如果它对您有用,则在任何地方都不需要设置标志。但是您仍然不知道出了什么问题。

更多步骤:尝试删除软件包并安装。 pip uninstall requests pip install requests 这可行,但是我得到了特定程序包的权限问题。

事实证明,文件被进程锁定时,Windows提供权限错误。Python将其报告为[Winerror 5],因此无论如何我都很难找到该文档参考。让我们检验一下这个理论。

我找到了获得权限错误的确切文件。点击删除。当然,Windows会window提示它在打开python

end task使用了所有的python,自1996年以来一直有效。但是我等待了几秒钟,以防万一某个进程正在启动python。检查Task manager一切都很好。

在获得pip来安装特定的azureml软件包失败20次之后,我非常确定这可以解决它。

我运行了pip安装,并且安装得非常好。

故事的寓意:从Stackoverflow复制粘贴之前,先了解您在做什么。祝一切顺利。

ps请以管理员身份停止安装Python或其软件包。自2006年以来我们已经过去了


1

我通过在管理模式下重新打开cmd,激活虚拟环境并重新安装来解决此问题。

这是在虚拟环境中的Tensorflow 2.3.0中实现的。


这不是问题的答案也不是解决方案。
朱利诺·科斯塔

0

就我而言,我禁用了McAfee,然后成功安装了tensorflow2.0 RC


0

使用提升的命令提示符可以产生奇迹。您要做的就是运行

pip install <package-name>

具有管理特权。


0

这就是我解决此问题的方法。

降级到python 3.6.x 64位。我安装了3.6.8 64bit。

通过pip安装virtualenv安装virtualenv

将pip升级到最新版本,对我来说是19.3

转到要创建虚拟环境的文件夹,并在创建虚拟环境后键入virtualenv ENV,转到子文件夹\ PATH \ ENV \ Script执行activate.bat。现在您将处于虚拟环境中。

pip install rasa 问题是tensorflow 15需要64位python且不超过3.6


0

尝试使用Anaconda从Jupyter笔记本安装tensorflow时遇到了相同的问题。-用户没有工作。

conda install tensorflow 为我工作,而我不必更改任何安全设置。


0

如果在权限错误的情况下不起作用,请尝试此操作,它将解决此问题。

sudo chown user -R env

以我的情况为例

sudo chown ubuntu -R venv




0

我需要从需求文件安装并收到此错误,但是不想使用该--user选项,因为我不想将其安装在@ not2qubit描述的位置。因此,我以管理员身份运行CMD,然后启用了以下目录的共享右键单击>属性>共享>共享...):

C:\Users\<my user name>\AppData\Local\Temp

完成此操作后,我便可以从需求文件将其安装到应用程序目录中(我想要的位置),而不是..\AppData没有错误的疯狂目录。


0

添加Flask时,我遇到了同样的问题。因此使用了以上命令之一。

pip install --ignore-installed --upgrade --user flask

只有一个小的警告,它的工作!

安装收集的软件包:click,MarkupSafe,Jinja2,其危险的,Werkzeug,flask警告:脚本flask.exe安装在PATH以外的'C:\ Users \ Admin \ AppData \ Roaming \ Python \ Python38 \ Scripts'中。考虑将此目录添加到PATH,或者,如果您不想显示此警告,请使用--no-warn-script-location。成功安装了Jinja2-2.11.2 MarkupSafe-1.1.1 Werkzeug-1.0.1 click-7.1.2 flask-1.1.2 itsdangerous-1.1.0警告:您使用的是pip版本20.1.1;但是,版本20.2可用。您应该考虑通过'c:\ python38 \ python.exe -m pip install --upgrade pip'命令进行升级。



-1

这应该工作。

pip install --user <package_name>
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.