Beng Dou

一只站在树上的鸟儿,从来不会害怕树枝断裂,因为它相信的不是树枝,而是它自己的翅膀。

导航

pip安装提示PermissionError: [WinError 5]错误问题解决

操作环境

  Python3.6 + Winodws7

问题现象

  新安装python3.6版本后使用pip安装第三方模块失败,报错信息如下:

C:\Users\linyfeng>pip install lxml
Collecting lxml
  Downloading http://pypi.doubanio.com/packages/fb/41/b8d5c869d01fcb77c72d7d226a847a3946034ef19c244ac12920b71cd036/lxml-3.8.0-cp36-cp36m-win32.whl (2.9MB)
    100% |████████████████████████████████| 2.9MB 4.6MB/s
Installing collected packages: lxml
Exception:
Traceback (most recent call last):
  File "c:\program files (x86)\python36-32\lib\site-packages\pip\basecommand.py", line 215, in main
    status = self.run(options, args)
  File "c:\program files (x86)\python36-32\lib\site-packages\pip\commands\install.py", line 342, in run
    prefix=options.prefix_path,
  File "c:\program files (x86)\python36-32\lib\site-packages\pip\req\req_set.py", line 784, in install
    **kwargs
  File "c:\program files (x86)\python36-32\lib\site-packages\pip\req\req_install.py", line 851, in install
    self.move_wheel_files(self.source_dir, root=root, prefix=prefix)
  File "c:\program files (x86)\python36-32\lib\site-packages\pip\req\req_install.py", line 1064, in move_wheel_files
    isolated=self.isolated,
  File "c:\program files (x86)\python36-32\lib\site-packages\pip\wheel.py", line 345, in move_wheel_files
    clobber(source, lib_dir, True)
  File "c:\program files (x86)\python36-32\lib\site-packages\pip\wheel.py", line 316, in clobber
    ensure_dir(destdir)
  File "c:\program files (x86)\python36-32\lib\site-packages\pip\utils\__init__.py", line 83, in ensure_dir
    os.makedirs(path)
  File "c:\program files (x86)\python36-32\lib\os.py", line 220, in makedirs
    mkdir(name, mode)
PermissionError: [WinError 5] 拒绝访问。: 'c:\\program files (x86)\\python36-32\\Lib\\site-packages\\lxml'

问题分析

  提示PermissionError权限不足。查看当前cmd命令执行的用户以及该用户是否具有administrator权限。

  (1)查看windows当前登录用户,使用命令whoami或者echo %username%

C:\Users\Test>whoami
China\test
或者
C:\Users\Test>echo %username%
test

  (2)查看test用户及所属管理组

C:\Users\Administrator>net user Test
用户名                 Test
全名
注释                   管理计算机(域)的内置帐户
用户的注释
国家/地区代码          000 (系统默认值)
帐户启用               Yes
帐户到期               从不

上次设置密码           2010/11/21 5:56:34
密码到期               从不
密码可更改             2010/11/21 5:56:34
需要密码               Yes
用户可以更改密码       Yes

允许的工作站           All
登录脚本
用户配置文件
主目录
上次登录               2018/1/10 21:17:20

可允许的登录小时数     All

本地组成员             *Users
全局组成员             *None
命令成功完成。

 (3)查看c:\\program files (x86)\\python36-32\\Lib\\site-packages路径的site-packages文件夹目录权限

  Users用户组的用户不具备写入权限,可以使用administrator权限用户执行或者将Test用户加入administrator用户组。

问题解决

  使用管理员权限运行cmd命令,具体操作过程如下步骤所示:

(1) 利用where查找cmd运行绝对路径

C:\Users\test>where cmd
C:\Windows\System32\cmd.exe

(2) 到C:\Windows\System32目录下,右键单击cmd.exe文件以管理员身份运行。如下

运行结果如下:

可以发现路径名变成了C:\Windows\system32>

(3) 重新执行pip install lxml,结果如下

C:\Windows\system32>pip install lxml
Collecting lxml
  Downloading http://pypi.doubanio.com/packages/fb/41/b8d5c869d01fcb77c72d7d226a847a3946034ef19c244ac12920b71cd036/lxml-3.8.0-cp36-cp36m-win32.whl (2.9MB)
    100% |████████████████████████████████| 2.9MB 6.8MB/s
Installing collected packages: lxml
Successfully installed lxml-3.8.0

(4) 安装成功。

知识引申

 DOS其他相关操作命令

query user:显示有关终端服务器上的用户会话的信息
net localgroup administrator ${普通用户名} /add:将指定用户给予管理员权限
netplwiz:打开用户账户管理界面快捷键

 

posted on 2017-07-18 22:25  锅边糊  阅读(30715)  评论(0编辑  收藏  举报