Windows 下 pip 提示找不到/打不开 script 等错误的处理方法

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/leayc/article/details/80600309

莫名奇妙的错误。由于是在 cmd 下出现的,我又有随手关窗口的习惯,没办法找到原始的错误记录了,只能凭印象说说。
最初是打开 cmd 想用 pip 更新几个 package,结果报错,大意是找不到 pip 的 script。
非常怪。Python 环境管理我装的是 Anaconda, 最近也没动过 Python 这块,pip 忽然就不能用了。第一时间没选择直接重装 pip,反倒试了一下用 conda 重装 pip。

conda update pip

结果给我弹出了一大堆基础 package 的更新。看见 VC14 字样想起最近装了新版 VS,可能是这个影响到了一些库的编译。装完 pip 还是死着,依然提示没找着。我看搜索记录网上比较相近的问题是这样的:

Cannot open X:\Program Files\Anaconda3\Scripts\pip-script.py

以及

PermissionError: [WinError 5] Access is denied: 'e:\\venv_pip_upgrade\\scripts\\pip.exe'

后者显然是权限问题,用管理员模式启动 cmd 即可;前者提示打不开这个 script,我想是不是因为环境变化原来的包坏了,就重装了一遍。恢复正常。
想了一下,真实的原因最可能是干过这么一个事情:

pip install -U pip

在 Windows 下这么做应该是不对的,因为安装新的 package 要删除旧的目录,而正在运行的程序是无法删除的。所以在用 pip 更新 pip 会出现这么一个逻辑错误。
正确的方法是从 python 打开 pip 的更新:

python -m pip install –upgrade pip

对与标题类似的故障,直接官网下载 pip 的安装文件重装即可。

顺便吐槽,估计是要管理庞大的库的缘故,conda 效率非常感人。pip 的耗时一般就是网络连接,所以只要换个源或者有梯子很快就能响应。但 conda 好像每次都要检查一遍当前的目录,就算换了源也要磨蹭很长时间,连接的部分反倒没怎么耗时。

猜你喜欢

转载自blog.csdn.net/leayc/article/details/80600309