pip更新到18版本后使用pycharm更新问题:module 'pip' has no attribute 'main'

今天升级pip到18.0版本后更新模块时出现错误

pip更新到18版本后使用pycharm更新问题:module 'pip' has no attribute 'main'

分析报错信息可知,问题出在packaging_tool.py文件的213行和109行,找到具体的代码,如下

# 109行函数
def do_install(pkgs):
try:
import pip
except ImportError:
error_no_pip()
return pip.main(['install'] + pkgs)
# 213行函数
def do_uninstall(pkgs):
try:
import pip
except ImportError:
error_no_pip()
return pip.main(['uninstall', '-y'] + pkgs)

由报错信息可知213行函数 pip.main(['uninstall','-y'] + pkgs),pip没有main属性

经过pip18版本与9.0版本的对比可知在18版本中把main函数放进了_internal,所以把上面pip.main函数的导入改为from pip._internal import main,修改后为

# 109行函数
def do_install(pkgs):
try:
# import pip
try:
from pip._internal import main
except Exception:
from pip import main
except ImportError:
error_no_pip()
return main(['install'] + pkgs)
# 213行函数
def do_uninstall(pkgs):
try:
# import pip
try:
from pip._internal import main
except Exception:
from pip import main
except ImportError:
error_no_pip()
return main(['uninstall', '-y'] + pkgs)

问题解决

上一篇:nodejs 与 json


下一篇:scala练手之数字转汉字小工具