Python PIP 套件如何(全部)升級

Python 的套件使用 pip / pip3 安裝,在安裝新套件後,執行發現之前的版本太舊,於是要來做 PIP Package 升級~

Python PIP 套件如何(全部)升級

Python / Python3 的 pip 套件升級,命令:pip3 install -U package-name

PIP 列出有哪些套件、版本

  • pip3 list # 列出目前系統有哪些套件
    • Package Version
      ------  ------
      acme        1.12.0
      certbot    1.12.0
  • pip3 list -o # 列出目前系統的套件、目前最新版本為何
    • Package Version Latest Type
      ------  ------ ----- -----
      acme        1.12.0      2.5.0    wheel
      certbot    1.12.0      2.5.0    wheel

PIP 自己 Upgrade

  • python -m pip install --upgrade pip
    • pip install --upgrade pip
  • python3 -m pip install --upgrade pip
    • pip3 install --upgrade pip

PIP 列出 outdated 的套件並全部升級

  • pip3 list -o | cut -f1 -d' ' | awk '{if(NR>=3)print}' # outdated package list
    • -o = --outdated (php3 list --help 可以查看還有哪些參數)
  • pip3 list -o | cut -f1 -d' ' | awk '{if(NR>=3)print}' | xargs -n1 pip3 install -U # 全部丟進去升級
    • pip3 install -U `pip3 list --outdated | awk 'NR>2 {print $1}'` # 精簡一點的寫法
  • 大量升級的語法會需要跑多次,因為套件間有 dependencies,無法一次全部升級上去,若跑多次還沒辦法升級的,就需要手動解來慢慢升級了

遇到 No package 'dbus-1' found 的錯誤解法

  1. sudo apt install build-essential libdbus-glib-1-dev libgirepository1.0-dev
  2. pip3 install dbus-python
  3. 再來就是看到缺什麼套件再來慢慢補齊~
  4. 若有套件卡關,可以考慮 pip3 uninstall package-name # 先移除掉全部升級完成,有需要再安裝~

作者: Tsung

對新奇的事物都很有興趣, 喜歡簡單的東西, 過簡單的生活.

發表迴響

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料