"module 'pip' has no attribute 'main'"&"name pip is not defined"

起因: 之前安装了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

猜你喜欢

转载自blog.csdn.net/qq_32618817/article/details/80370153