起因: 之前安装了pymongo用来存储爬取的数据,后来想尝试用Python操作MySQL,于是需要安装pymysql的包,结果总是提示我的pip版本问题,我就索性更新了pip。结果,pip更新之后,接下来所有的包的安装都提示标题中的错误:AttributeError: module ‘pip’ has no attribute ‘main’,以下是解决方案:
环境: Mac os系统/python3.5.3
解决方案:
- 更改pakaging_tool.py文件
首先来看错误界面:
在黄色高亮区可以看到文件发生错误的位置,而我们要做的就是寻着该位置找到packaging_tool.py文件,然后进行更改。
那么在mac中如何找到对应位置呢,可以按照以下路径:
① 在Mac的硬盘里找到“应用程序”文件夹
② 在应用程序里,找到“pycharm.app”,右击“显示包内容”
③ 再根据contents/helpers/packaging_tool.py路径锁定目标文件
④ 最后,将原文件:
更改为:
添加的代码段为:
try:
from pip._internal import main
except Exception:
from pip import main
替换packaging_tool.py文件
还有种可能是有些人经过上面的更改之后还是有其他问题,比如会提示“name pip is not defined”,如果你也遇到这样的问题。可以尝试用下面的文件替换原来的packaging_tool.py文件
网盘链接:https://pan.baidu.com/s/1nWxyOJt-WQGJ0H6G2J6WDg
密码:nkb3网上似乎还有另外一种办法,就是降低pip的版本,这个我还没试过
python -m pip install --upgrade pip==9.0.3