由于 EnvironmentError 无法安装软件包:[WinError 5] 访问被拒绝:
Posted
技术标签:
【中文标题】由于 EnvironmentError 无法安装软件包:[WinError 5] 访问被拒绝:【英文标题】:Could not install packages due to an EnvironmentError: [WinError 5] Access is denied: 【发布时间】:2019-01-25 12:51:43 【问题描述】:我有 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!
Process returned 0 (0x0) execution time : 2.327 s Press any key to continue
当我在 cmb 中输入 pip3 install --upgrade tensorflow-gpu
时,无论是管理的还是普通的,我都会得到:
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.
请帮帮我。不是计算机科学家或工程师。但我写代码是为了好玩。
【问题讨论】:
将--user
添加到pip3
安装命令中。
我不明白为什么我们现在必须使用--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.)
我真的不想安装到用户目录并以管理员身份运行 CMD 给我同样的错误。
在 pip3(或 pip)安装命令上使用 --user 或 -U 检查。一些图书馆不能识别其中之一,因此需要同时检查两者。一个会工作的。
pip install --upgrade tensorflow --user 为我工作
【参考方案1】:
如果您不想更改权限,只需键入您要使用用户权限执行的命令:
pip3 install --upgrade tensorflow-gpu --user
【讨论】:
@Chayan 为什么这行得通,而普通的 pip 安装却不行? 这对于那些理解的人来说可能是显而易见的,但是有人可以详细说明 --user 命令在执行代码时做了什么吗? 安装到用户目录让我所有的环境都使用那个包而不是他们自己的..! 我收到一个错误:错误:由于环境错误而无法安装软件包:[WinError 2] 系统找不到指定的文件:'c:\\python39\\Scripts\\tqdm.exe ' -> 'c:\\python39\\Scripts\\tqdm.exe.deleteme' 但是,添加 --user 后就解决了。 如果您尝试在虚拟环境下安装,此答案将毫无用处,您始终应该这样做。【参考方案2】:使用--user
运行相同的命令。
【讨论】:
错误消息提示“考虑使用--user
选项或检查权限”。我已经添加了--user,它已经解决了
所以不管你使用没有'--user'的命令还是使用'--user'没有区别?因为你似乎假设...
是的,但有一点不同:该软件包将安装在 %userprofile% 中。
如果您尝试在虚拟环境下安装,则无用,您始终应该这样做。【参考方案3】:
只需更改要安装特定软件包的访问权限即可。
就我而言windows10:
转到“C:\Program Files (x86)\Python37” 右键单击 Python37 文件夹并单击属性 转到“安全”选项卡并通过单击编辑按钮允许完全控制。 再次打开新的 cmd 终端并尝试再次安装软件包。【讨论】:
特别是lib子文件夹【参考方案4】:我发现如果我以管理员身份运行 CMD 并运行命令,我可以毫无问题地安装它。试试看,给我一些反馈。
【讨论】:
这和安装 Python 后重新启动对我有用。 这对我有用。奇怪的是,即使 Windows 终端作为管理员也不起作用。 为我工作。有趣的是,只有以管理员身份打开 CMD 有效,而以管理员身份打开 Git Bash 无效。 确实可行,奇怪的是 Windows PowerShell 作为管理员显示访问被拒绝消息并说安装失败,但它实际上也完成了这项工作 可能对我不起作用,因为我无法授予 cmd 完整权限【参考方案5】:我正在将 tensorflow 升级到 1.4.0,因为这个错误没有解决,但最终解决了。你猜怎么着?
我的一个 python 脚本正在运行,它正在使用 tensorflow ??。 包关闭后安装成功。 ?
【讨论】:
同样的问题。 我想我也遇到了同样的问题。虽然我通过任务管理器杀死了所有 python 实例,但我能够在重新启动计算机后安装它。【参考方案6】:我使用了这个命令,它成功了:
python -m pip install --user --upgrade pip
【讨论】:
【参考方案7】:哦,天哪。这里有很多不好的答案。好意思但误导。 我通常可以很好地处理 Mac/Linux 上的权限。这些天来,Windows 对我来说是新的。这就是我遇到的问题。
-
创建一个 virtualenv - 好的
activate
我的 virtualenv - 失败。需要 Scope 才能运行 powershell。 Windows 很有帮助,它会准确地告诉您运行 .ps 所需的命令。有点像 chmod
但执行 scope
我认为这很好。
现在,如果您已完成上述操作并安装了一些软件包,那就没问题了。直到你突然不能。然后你会得到这个权限错误。
您或其他进程对 pip 安装包的文件夹设置了权限。即...site-packages/
在我的情况下,我怀疑它是 OneDrive 或某些权限继承。
理想的前进方式是检查权限。这很难,但你不是 Python 开发人员! 首先检查您自己的用户。
whoami
例如我的电脑\vangel
Get-Acl <path which is an issue>
在 Python 安装文件夹或您的 virtualenv 上右键单击并转到安全选项卡。单击高级并查看权限。我删除了所有继承的权限和其他用户等,并添加了我的 whoami
用户明确的完全权限。然后应用于所有对象。
在未验证以下步骤的情况下,请勿执行这些操作。仔细阅读邮件。
它绝不是可能影响您的所有权限问题的解决方案。我只能提供有关如何排除故障的指导,希望您能解决。
在任何地方都不需要设置--user
标志,如果它对你有用的话。但是你还是不知道出了什么问题。
更多步骤:
尝试删除一个包并安装它。
pip uninstall requests
pip install requests
这可行,但我遇到了特定包的权限问题。
事实证明,当文件被进程锁定时,Windows 会给出权限错误。 Python 将其报告为[Winerror 5]
,无论如何我都无法轻易找到该文档参考。让我们测试一下这个理论。
我找到了获得权限错误的确切文件。点击删除。果然windowswindow
提示它在python
打开当然是了。
我在所有 python 上点击end task
它自 1996 年以来一直有效。但我等了几秒钟以防万一某个进程正在启动 python。检查Task manager
一切正常。
让 pip 安装特定的 azureml 包失败了 20 次,我确信这解决了它。
我运行了我的 pip 安装,它安装得非常好。
故事的寓意:在从 *** 复制粘贴之前了解您在做什么。一切顺利。
附言请停止以管理员身份安装 Python 或其软件包。自 2006 年以来,我们已经过去了
【讨论】:
在 Windows 10 上似乎没有什么对我有用。当我在具有管理员权限的 CMD 中运行pip install pip --upgrade pip
以便在 virtualenv 中安装时,我收到错误消息 ERROR: Could not install packages due to an OSError: [WinError 5] Access is denied: 'C:\\Users\\FOO\\AppData\\Local\\Temp\\pip-uninstall-c3m4ipqf\\pip.exe' Check the permissions.
我也删除了所述临时文件夹中的所有子文件夹pip-*
。没有帮助。对此有什么想法吗?【参考方案8】:
对于我(在 windows 中),我必须重新启动终端并以管理员身份运行它(如果您使用的是 pycharm 终端,只需关闭 pycharm,然后以管理员身份重新打开它,然后重试),这样就解决了问题并安装成功.
祝你好运
【讨论】:
【参考方案9】:要安装 tensorflow,请使用此命令,包括 --User。
pip install --ignore-installed --upgrade --user tensorflow==2.0.1
这里2.0.1是tensorflow的版本。
【讨论】:
【参考方案10】:在 Windows 中试试这个:
pip install -U
【讨论】:
这在 Windows 10 20H2 上使用 Python 3.8 为我解决了【参考方案11】:当所有提到的方法都失败时,我可以按照官方网站https://scikit-learn.org/stable/install.html的说明安装scikit-learn
。
Windows 上文件路径长度限制导致的错误
如果 Python 安装在嵌套位置(例如用户主目录下的 AppData 文件夹结构),则可能会出现 pip 在达到 Windows 的默认路径大小限制时无法安装包的情况,例如:
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
【讨论】:
【参考方案12】:这应该可以工作
pip install --user requests
【讨论】:
为什么会这样。为您的答案提供更多解释。【参考方案13】:这适用于我的情况:
pip install --user --upgrade pip
否则使用以管理员身份运行打开命令提示符并执行相同的操作。
【讨论】:
【参考方案14】:如果您遇到此错误:
Consider using the --user option or check the permissions.
然后运行以下代码:
pip install --user --upgrade pip
【讨论】:
【参考方案15】: 窗户 正常和新鲜的 Python 3.7 虚拟环境已激活 终端不需要管理员权限 不需要--user
参数
只是:
py -m pip install --upgrade pip
成功了。
【讨论】:
【参考方案16】:在windows中升级pip -
python -m pip install --upgrade pip
然后使用 --user 选项运行 pip install -
pip install --user package_name
解决了我的问题。
【讨论】:
【参考方案17】:如果您使用的是 Windows,请通过完全控制当前用户来更改文件夹安全设置。它对我有用。
【讨论】:
【参考方案18】:在搜索中键入 CMD,当命令提示符出现在 BEST MATCH 搜索结果中时,右键单击它并选择“以管理员身份运行”,当用户控制窗口出现时选择“是”。将出现命令提示符窗口,您应该会看到“C:/WINDOWS/system32>”
此时只需输入您想要的,应该可以工作!
【讨论】:
【参考方案19】:我通过在管理模式下重新打开 cmd、激活虚拟环境并再次安装来解决此问题。
这是在虚拟环境中使用 Tensorflow 2.3.0。
【讨论】:
这不是问题的答案或解决方案。【参考方案20】:正如错误中提到的没有 --user 所以你必须按照这些步骤操作
-
打开 cmd 或 anaconda Navigator
打开你的 python 安装目录(对于 anaconda navigator 你已经指定了路径,比如 C:/cd Anaconda
最后是python -m pip install --user somepackagename
【讨论】:
@Miguel Silva 你能分享一下输出吗 已经解决了。你可以在下面找到我的答案。【参考方案21】:试试这个。对我来说它有效。 pip install --user tensorflow
【讨论】:
【参考方案22】:这应该可行。
pip install --user <package_name>
【讨论】:
【参考方案23】:就我而言,我禁用了 McAfee,然后成功安装了 tensorflow2.0 RC
【讨论】:
【参考方案24】:我在尝试使用 Anaconda 从 jupyter notebook 安装 tensorflow 时遇到了同样的问题。 --user 没有工作。
conda install tensorflow
为我工作,我无需更改任何安全设置。
【讨论】:
【参考方案25】:使用此命令
python -m pip install --user --upgrade pip
【讨论】:
【参考方案26】:我需要从需求文件安装并收到此错误,但不想使用 --user
选项,因为我不想将其安装到 @not2qubit 描述的位置.所以我以管理员身份运行 CMD,然后启用以下目录的共享(右键单击 > 属性 > 共享 > 共享...):
C:\Users\<my user name>\AppData\Local\Temp
完成此操作后,我能够从我的需求文件安装到应用程序目录(我想要的位置)而不是疯狂的 ..\AppData
目录,而不会出现错误。
【讨论】:
有趣的解决方案。一般来说,我永远不会乱搞 Windows 属性,尤其是 共享>,因为如果不小心,它可能会触发各种服务。【参考方案27】:如果您使用的是 Windows 10 20H2,请检查 pip3(或 pip)安装命令中的 --user 或 -U。一些图书馆不能识别其中之一,因此需要同时检查两者。一个会工作的。
pip3 install --user tensorflow-gpu
或
pip3 install -U gast==0.3.3
【讨论】:
【参考方案28】:在我的例子中:命令--user
有效。
我已经使用这个命令安装了更新。
c:\python39\python.exe -m pip install --upgrade pip --user
【讨论】:
【参考方案29】:使用提升的命令提示符可以创造奇迹。你所要做的就是运行
pip install <package-name>
具有管理权限。
【讨论】:
【参考方案30】:这就是我解决这个问题的方法。
降级到 python 3.6.x 64 位。我安装的是3.6.8 64bit。
通过 pip install virtualenv 安装 virtualenv
将 pip 升级到最新版本,对我来说是 19.3
转到您要创建虚拟环境的文件夹并输入 virtualenv ENV 创建虚拟环境后,进入子文件夹\PATH\ENV\Script并执行activate.bat。现在您将进入虚拟环境。
pip install rasa 问题是tensorflow 15需要64位python,不超过3.6
【讨论】:
以上是关于由于 EnvironmentError 无法安装软件包:[WinError 5] 访问被拒绝:的主要内容,如果未能解决你的问题,请参考以下文章
由于 EnvironmentError 无法安装软件包:[WinError 5] 访问被拒绝:
如何修复“由于 EnvironmentError 无法安装软件包:[WinError 123]”?
由于 EnvironmentError 无法安装软件包:[Errno 30] 只读文件系统:
由于 ec2 服务器中的 EnvironmentError 无法安装软件包