本篇内容介绍了“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 mainif __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_resourcesfrom 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 sdistpycairo 1.16.2 1.18.1 sdistpycups 1.9.73 1.9.74 sdistpygobject 3.26.1 3.34.0 sdist
然后在对这些没升级的包使用
pip3 install --upgrade 要升级的包名
命令进行逐个升级即可
“Ubuntu如何一次性升级Python所有库”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!