Ubuntu如何一次性升级Python所有库


您的位置:首页>技术疑问> 内容正文

Ubuntu如何一次性升级Python所有库

本篇内容介绍了“Ubuntu如何一次性升级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文件

修改前:

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/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对应的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 要升级的包名

命令进行逐个升级即可

“Ubuntu如何一次性升级Python所有库”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注美国cn2网站,小编将为大家输出更多高质量的实用文章!

发布时间:2022-10-24

统计代码