Ubuntu18.04 一次性升級Python全部庫

pip是什麼

pip 是 Python 包管理工具,該工具提供了對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

終端打印:shell

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

接下來一鍵升級全部Python包

編寫一個Python腳本去執行便可,下面是代碼:ubuntu

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要寫成pip3bash

接下來在查看下Python的歷史版本的包還有那些:python2.7

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

而後在對這些沒升級的包使用code

pip3 install --upgrade 要升級的包名

命令進行逐個升級便可ip

相關文章
相關標籤/搜索