今天升级pip到18.0版本后更新模块时出现错误
分析报错信息可知,问题出在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)
问题解决