解决‘pip‘ is a package and cannot be directly executed报错问题和WinError 5]拒绝访问

本文记录了一次pip升级失败的问题排查及解决过程。作者在尝试升级pip时遇到权限问题和安装失败的情况,通过卸载残留文件并重新安装最终解决了问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天装包的时候,提示我要升级pip

WARNING: You are using pip version 21.0.1; however, version 21.1.1 is available.
You should consider upgrading via the 'd:\python\python.exe -m pip install --upgrade pip' command.

d:\python\python.exe -m pip install --upgrade pip

于是就按它的提示,切换到python安装路径下升级了

ERROR: Could not install packages due to an EnvironmentError: [WinError 5] 拒绝访问。: 'd:\\python\\scripts\\pip.exe'
Consider using the `--user` option or check the permissions.

一开始看到 [WinError 5] 拒绝访问。: 'd:\\python\\scripts\\pip.exe',以为是得用管理员权限,于是切换

发现还是不好使,这才仔细一看。

后来知道得加上用户信息或者用python -m pip install --upgrade pip

好家伙,把我pip给卸载了,然后更新的时候还没给我更新成功!

执行pip -v都不好使了,欲哭无泪。

d:\Python>pip -v
Traceback (most recent call last):
  File "d:\python\lib\runpy.py", line 197, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "d:\python\lib\runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "D:\Python\Scripts\pip.exe\__main__.py", line 4, in <module>
ModuleNotFoundError: No module named 'pip._internal'

这下可好,有事干了。

于是我按照网友的解决方案操作,但是试了以下三个都没有用!

python -m pip install --upgrade pip

python -m ensurepip

easy_install pip

再执行还是

d:\Python\python.exe: No module named pip.__main__; 'pip' is a package and cannot be directly executed

好家伙,居然都不好使!

然后我注意到执行python -m ensurepip后,有一条报错信息是这样的:

Requirement already satisfied: pip in d:\python\lib\site-packages (20.2.3)

喵喵就猜想着,应该是没有卸载干净,于是我按照路径找到d:\python\lib\site-packages

然后把文件夹下的如下两个文件夹删掉了

删除后,我再执行安装pip的命令就成功了!

#安装pip
python -m ensurepip

#更新pip
python -m pip install --upgrade pip

完美!

总的来说,就是更新pip的时候,把旧版卸载了,但是新版又没有成功安装,而卸载又没有卸载干净,手动安装又失败。

 

这是我在CSDN的第一篇blog,今后会保障每天至少写一篇debug的文章,记录一下那些年我们一些解决的bug。

 

生信喵 X CSDN,记录debug的日常。

 

另外,欢迎大家关注公众号【生信喵】,在那里我会分享机器学习、算法开发的总结笔记……

 
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值