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

原创 2018年04月16日 19:07:12

将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安装工具pip、easy_install

-
  • 1970年01月01日 08:00

Python2.7 安装mock出现AttributeError: 'module' object has no attribute的解决方法

原环境: 1.pip --verson : 1.0 from /usr/lib/python2.7/dist-packages (python 2.7) 2.uname -a :Linux pc 3....
  • u013102743
  • u013102743
  • 2017-02-18 10:34:02
  • 6676

Debian (Jessie 8.0) 的修复pip AttributeError: 'module' object has no attribute 'PROTOCOL_SSLv3'

升级到最新的stable后,python的pip还是老的. 在安装一些包的时候,报错了 Traceback (most recent call last): File "/usr/bin/pip...
  • rainysia
  • rainysia
  • 2015-05-12 13:55:40
  • 7716

【python】AttributeError: 'module' object has no attribute 'HTTPSConnection'

记录一下安装pip的过程。安装过程中,遇到了一些问题: [c.plm@localhost samba]$ python3.3 get-pip.py  Traceback (most rec...
  • ranran0224
  • ranran0224
  • 2017-07-24 14:41:43
  • 590

关于python里运行出现'module' object has no attribute 'xxxx'等问题解决方法

本人在运行代码出错 I= np.stack((R, G, B), 2) 报错为:'module' object has no attribute 'stack' stack 是属于numpy里...
  • Riverhope
  • Riverhope
  • 2017-12-11 11:12:43
  • 926

修复:pip 'module' object has no attribute '_handlerList'

问题在运行pip install xxx 出现 ‘module’ object has no attribute ‘_handlerList’Traceback (most recent cal...
  • chenlei_525
  • chenlei_525
  • 2017-08-04 11:05:56
  • 477

python错误锦集及各种packages安装

python各种packages的安装 1 python-opencv 利用anaconda安装python-opencv 测试python-opencv是否安装成功 python各种packages...
  • tina_ttl
  • tina_ttl
  • 2016-07-01 13:44:36
  • 14683

python 中出现的AttributeError: 'module' object has no attribute '_handlerList'

Traceback (most recent call last):File “/usr/local/bin/pip”, line 9, in load_entry_point('pip==9.0.1...
  • u014518506
  • u014518506
  • 2017-02-22 16:55:59
  • 1093

Deepin下Python2.7安装Django出现'module' object has no attribute 'lru_cache'错误

错误信息如下图 这里是解决方案 是Python与Django版本不匹配的问题。 使用pip命令“sudo pip install Django”下载的是Django2.0版本的压缩包...
  • u011502243
  • u011502243
  • 2017-12-16 14:48:18
  • 2600

【Python 脚本报错】AttributeError:'module' has no attribute 'xxx'的解决方法

最近在编写Python脚本过程中遇到一个问题比较奇怪:Python脚本正常的,但执行报错"AttributeError: 'module' object has no attribute 'x...
  • cn_wk
  • cn_wk
  • 2016-03-09 21:56:18
  • 11107
收藏助手
不良信息举报
您举报文章:python 关于批量更新库脚本报错:AttributeError: module 'pip' has no attribute 'get_installed_distributions'
举报原因:
原因补充:

(最多只允许输入30个字)