Ubuntu 升级 pip 后出现 ImportError: cannot import name main

问题

环境是 ubuntu 16.04 server,在使用 pip 安装模块的时候,系统提示有新版本的 pip 更新,所以毫不犹豫的就更新了。

python -m pip install --upgrade pip

更新完之后发现坏了,使用 pip -V 查看版本,报错了:

Traceback (most recent call last):
 File "D:\Python\lib\runpy.py", line 162, in _run_module_as_main
  "__main__", fname, loader, pkg_name)
 File "D:\Python\lib\runpy.py", line 72, in _run_code 
  exec code in run_globals
 File "D:\Python\Scripts\pip.exe\__main__.py", line 5, in <module>
ImportError: cannot import name main

谷歌了一把,发现很多人都有这个问题:

ImportError: cannot import name main,

原因可能是 Linux 下的 python 2.7 的 pip 10 版本存在BUG。

解决

出错的脚本是 /usr/bin/pip.py

把下面的三行:


from pip import main
if __name__ == '__main__':
    sys.exit(main())

修改为:

from pip import __main__
if __name__ == '__main__':
    sys.exit(__main__._main())

这样问题就解决了!

pip_10_bug.jpg

如果觉得这对你有用,请随意赞赏,给与作者支持
评论 0
最新评论