欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Ubuntu18.04 一键升级Python所有第三方包

程序员文章站 2022-05-21 21:19:59
一、pip是什么 pip 是 Python 包管理工具,该工具提供了对Python 包的查找、下载、安装、卸载的功能。 二、升级pip版本 1、默认Ubuntu自带的pip (pip 9.0.1)是基于Python2.7的版本 2、我们需要重新安装基于Python3的pip: 3、升级pip3版本: ......

一、pip是什么

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

二、升级pip版本

1、默认ubuntu自带的pip (pip 9.0.1)是基于python2.7的版本

2、我们需要重新安装基于python3的pip:

sudo apt-get install python3-pip

3、升级pip3版本:

python3 -m pip install --upgrade pip

4、查看python3的pip版本,如果报以下错误:

importerror: cannot import name main

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

修改前:

from pip import main
if __name__ == '__main__':
    sys.exit(main())

修改后:

from pip import __main__
if __name__ == '__main__':
    sys.exit(__main__._main())

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

终端打印:

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

5、一键升级所有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对应的pip是pip3,所以脚本这里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 要升级的包名

命令进行逐个升级即可,我看那四个包我也不经常用,我都懒得去升级了。。。(ps:刚装好的ubuntu 18.04,截图不方便,先凑活着看吧-.-)

----------------------------------------------------------------------------------------------------------------------------------------------------------------

至此...完结...