【发布时间】:2015-08-22 08:48:16
【问题描述】:
pip 要求我升级并带有一条消息:
You are using pip version 7.0.1, however version 7.0.3 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
所以我运行了该命令,但我得到一个异常 pip 无法卸载旧版本,因为对我的用户目录的访问被拒绝:
收集点 下载 pip-7.0.3-py2.py3-none-any.whl (1.1MB) 100% |################################| 1.1MB 292kB/s 安装收集的包:pip 找到现有安装:pip 7.0.1 卸载 pip-7.0.1: 成功卸载 pip-7.0.1 例外: 回溯(最近一次通话最后): 文件“C:\Python27\lib\site-packages\pip\basecommand.py”,第 223 行,在 main 状态 = self.run(选项,参数) 运行中的文件“C:\Python27\lib\site-packages\pip\commands\install.py”,第 297 行 root=options.root_path, 安装中的文件“C:\Python27\lib\site-packages\pip\req\req_set.py”,第 633 行 要求.commit_uninstall() 文件“C:\Python27\lib\site-packages\pip\req\req_install.py”,第 734 行,在 commit_uninstall self.uninstalled.commit() 提交中的文件“C:\Python27\lib\site-packages\pip\req\req_uninstall.py”,第 153 行 rmtree(self.save_dir) 文件“C:\Python27\lib\site-packages\pip\_vendor\retrying.py”,第 49 行,位于 Wrapped_f 返回重试(*dargs, **dkw).call(f, *args, **kw) 文件“C:\Python27\lib\site-packages\pip\_vendor\retrying.py”,第 212 行,调用中 提高尝试.get() 文件“C:\Python27\lib\site-packages\pip\_vendor\retrying.py”,第 247 行,在 get 六.reraise(self.value[0], self.value[1], self.value[2]) 文件“C:\Python27\lib\site-packages\pip\_vendor\retrying.py”,第 200 行,调用中 尝试=尝试(fn(*args,**kwargs),尝试编号,假) rmtree 中的文件“C:\Python27\lib\site-packages\pip\utils\__init__.py”,第 89 行 onerror=rmtree_errorhandler) rmtree 中的文件“C:\Python27\lib\shutil.py”,第 247 行 rmtree(全名,ignore_errors,onerror) rmtree 中的文件“C:\Python27\lib\shutil.py”,第 247 行 rmtree(全名,ignore_errors,onerror) rmtree 中的文件“C:\Python27\lib\shutil.py”,第 252 行 onerror(os.remove,全名,sys.exc_info()) rmtree_errorhandler 中的文件“C:\Python27\lib\site-packages\pip\utils\__init__.py”,第 101 行 函数(路径) WindowsError:[错误 5] 访问被拒绝:'c:\\users\\chris\\appdata\\local\\temp\\pip-ossyhh-uninstall\\python27\\scripts\\pip.exe'我运行的是 Windows 8.1,但我在另一台运行 Windows 7 的机器上也遇到了同样的错误。它似乎并没有停止新版本的安装,但最终我的 pip 文件夹留在了我的临时目录。有谁知道为什么会发生这种情况或我该如何纠正?
编辑1: 奇怪的是,使用管理员权限运行升级会引发 new 异常:
File "C:\Python27\lib\site-packages\pip-7.0.1-py2.7.egg\pip\_vendor\distlib\scripts.py", line 302, in _get_launcher
result = finder(distlib_package).find(name).bytes
AttributeError: 'NoneType' object has no attribute 'bytes'`
并且升级完全失败。
编辑2: 解决此问题的唯一方法似乎是使用 easy_install 升级 pip(-U 或 -m 选项),但如果 pip 无法自行升级,在其预期(并声明)时,这对我来说似乎是一个问题) 功能就是这样做的。
【问题讨论】:
-
您是否在没有管理员权限的情况下从命令提示符运行?
-
这也可能是个问题!以管理员身份运行
-
我想我读到这是 appdata\local\temp 文件夹上设置的权限问题。您可以尝试检查它的权限。
-
Python 2.7.10 和 pip 7.0.1 仍然存在问题(升级到 7.1.2)。
标签: python windows python-2.7 pip