在使用python的过程中遇到命令行出现ModuleNotFoundError: No module named 'pip'的报错,是很要命的一件事,因为pip是安装库文件命令,出了问题会导致没有办法安装需要的环境,而且使用pip install pip 当然也不行,就像大力士没法把自己举起来一样.本文将结合资料,详解如何解决此类问题.
对于基础python环境pip出现错误,可使用
python -m ensurepip
对pip进行重装.
还要知道什么样的操作容易导致pip库失效,最常见的错误出现在更新时,当你没有python环境路径的权限时(切换用户了),使用:
pip install pip -U
这种常见命令容易导致pip包失效,原因是-U是先卸载原有pip,再安装现有pip的,卸载不需要往环境中写入,因为只要把软链接删除就可以了,但是下载新的包并写入就会遇到权限问题.
如何安全更新pip呢?提供三种方式:
第一种,用python的更新而不是用pip的更新以免出现问题,因为python的更新命令是首先判断写入权限再下载新包再更新的,这样避免pip先把自己搞没了然后才发现写不进去这种坑爹操作:
python -m pip install --upgrade pip
第二种,头疼医头,脚痛医脚,但是好用啊,给pip更新权限就可以了:
pip install --upgrade --user pip
第三种,先为当前用户取得python环境的写入权限,Windows和Linux系统有所不同,这里介绍Linux系统命令:
chmod 777 /home/usrname/$python安装路径
#$python安装路径表示你的python环境路径
Windows通过右键文件夹属性修改,这里不再赘述.
当Conda环境中的python出现了该问题时,有更多方法可以解决:
首先Conda方法中提供了安装python的命令,所以可以用:
conda install pip
将pip包装回
一般这一步就可以了,使用同样的
python -m ensurepip
判断pip是否完整.
如果出现一些子包没有被安装上,如:
那么这时候可以将conda中的python完全卸载然后重装:
conda uninstall python
conda install python=x.x
即可使用pip!