一、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,截圖不方便,先湊活著看吧-.-)
----------------------------------------------------------------------------------------------------------------------------------------------------------------
至此...完結...