python 关于批量更新库脚本报错:AttributeError: module 'pip' has no attribute 'get_installed_distributions'

将pip 升到 10.0.0 版本后,以前一直能用的一键升级所有库的脚本,原脚本内容如下:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
'''
@Author  : Soner
@version : 
@Time    : 2017/11/3/0003 15:11
@license : Copyright(C), Your Company 
'''
import pip
from subprocess import call
from time import sleep

for dist in pip.get_installed_distributions():
    # 执行后,pip默认为Python3版本
    # 双版本下需要更新Python2版本的包,使用py2运行,并将pip修改成pip2
    call("pip install --upgrade " + dist.project_name, shell=True)

现在不能用了,一直提示如下错误:


后来找到pip的文件目录,一路查找,是有这个模块的

在根据调用层级,往上找,

之后将源脚本修改后,就可以正确进行一键更新操作:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
'''
@Author  : Soner
@version : 
@Time    : 2017/11/3/0003 15:11
@license : Copyright(C), Your Company 
'''
import pip
# pip V10.0.0以上版本需要导入下面的包
from pip._internal.utils.misc import get_installed_distributions
from subprocess import call
from time import sleep

for dist in get_installed_distributions():
    # 执行后,pip默认为Python3版本
    # 双版本下需要更新Python2版本的包,使用py2运行,并将pip修改成pip2
    call("pip install --upgrade " + dist.project_name, shell=True)
小白一枚,不知道为什么pip升级到10.0.0版本后就不能直接调用,如果有大神指导或者有更好的办法,欢迎指教~!
阅读更多
个人分类: python疑难杂症集
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭