zoukankan      html  css  js  c++  java
  • Ubuntu18.04 一次性升级Python所有库

    pip是什么

    pip 是 Python 包管理工具,该工具提供了对Python 包的查找、下载、安装、卸载的功能。

    升级pip版本

    默认Ubuntu自带的pip (pip 9.0.1)是基于Python2.7的版本

    我们需要重新安装基于Python3的pip:

    sudo apt-get install python3-pip
    

    升级pip3版本:

    python3 -m pip install --upgrade pip
    

    查看Python3的pip版本,如果报以下错误:

    ImportError: cannot import name main
    

    解决办法:编辑usr/bin/pip3文件

    1. 修改前:
    from pip import main
    if __name__ == '__main__':
        sys.exit(main())
    
    1. 修改后:
    from pip import __main__
    if __name__ == '__main__':
        sys.exit(__main__._main())
    

    验证修已成功生效:pip3 -V

    终端打印:

    pip 19.3.1 from /home/work/.local/lib/python3.6/site-packages/pip (python 3.6)
    

    接下来一键升级所有Python包

    编写一个Python脚本去执行即可,下面是代码:

    import pkg_resources
    from subprocess import call
     
    for packages in [dist.project_name for dist in pkg_resources.working_set]:
        call("pip3 install --upgrade " + ''.join(packages) + ' --user', shell=True)
    

    因为我的Python3对应的pippip3,所以脚本这里call("pip3 install --upgrade " + ''.join(packages) + ' --user', shell=True)中的pip要写成pip3

    接下来在查看下Python的历史版本的包还有那些:

    pip3 list --outdated
    

    终端打印:

    Package     Version Latest Type
    ----------- ------- ------ -----
    distro-info 0.0.0   0.10   sdist
    pycairo     1.16.2  1.18.1 sdist
    pycups      1.9.73  1.9.74 sdist
    pygobject   3.26.1  3.34.0 sdist
    

    然后在对这些没升级的包使用

    pip3 install --upgrade 要升级的包名
    

    命令进行逐个升级即可

  • 相关阅读:
    jsonp跨域请求
    jQuery之异步Ajax请求使用
    table表格cellspacing与cellpadding属性
    常用正则匹配
    插入数据显示 Duplicate entry '4913' for key 'user_id'
    事件驱动模型 IO多路复用 阻塞IO与非阻塞IO select epool
    python 协程
    python 进程 线程
    python 并发socketserver模块
    python 网络 socket
  • 原文地址:https://www.cnblogs.com/passerby223/p/12207994.html
Copyright © 2011-2022 走看看