Python 是個好東西,好多時候我們喜歡用它來寫一些小東西……比如我服務器上的很多服務都是用 Python 寫的( 使用 Supervisor 將你的 Python 程序變成服務 ),日積月累之下,竟然用到了很多依賴包。
可是,這些 Python 的依賴包並不會隨著你的 易於 升級 進行更新,許久之後的今天,我發現某個我正在用的包,已經更新到了 1.10.x,而我,還在用著0.4……
總之,Python 自帶的包管理器並沒有提供一個方便的命令類似 易於 升級 來一鍵更新所有包,我們得想一個其他的辦法。
一行命令更新法
網上有的文章使用了一個複雜的命令進行更新,原理是讀取 PIP3 名單 --過時的 (諷刺的是 pip 給出了過期包列表,卻不允許你一鍵升級它們)結果再依次輸入給 PIP3 安裝 -該 ,這個方案並不那麼穩定,也許精通shell的高手能將它運用自如吧,我就不提供具體代碼了,因為每個人的實現都有那麼一點不同。
使用 pip-review 更新
不要使用下文中的 requirements 了,並不好用,使用 pip-review 可挨個設置和選擇要更新的依賴包,然後批量更新,方便快捷。
1 |
$ pip3 install pip-review |
安裝 pip-review 後,使用如下命令使用:
1 |
python3 -m pip_review --local --interactive |
使用
要求
有沒有更簡單易懂的更新方案呢?答案是有的。
requirement 文件是用來解決 Python 包分發一鍵配置環境依賴用的,我們也可以將全局環境打印出來,然後再以更新的形式導入,這樣,就搞定了全局更新!
1 |
<del>pip3 freeze > requirements.txt</del> |
首先導出全局依賴——也就是全部已經安裝的包。
1 |
<del>pip3 install -r requirements.txt --upgrade</del> |
現在我們把這些包重新“安裝”回去,但要
升級 ……完成!
本文由 落格博客 原創撰寫:落格博客 » 快速更新 Python 包
轉載請保留出處和原文鏈接:https://www.logcg.com/archives/3466.html
最近幾年都在用pipenv和pyenv,先不說pyenv bug頻繁,pipenv確實解決了一些問題,可以試試
大佬的這個操作很騷啊 然後就炸了
怎麼會……upgrade一把梭!
大佬不愧是大佬!都不怕翻車!
出了問題現場debug即可……反正用戶量不多,何況現在lts還是挺穩定的~
反正用戶量不多,掛了好幾天才發現😂……
hhhh都是有人找上門我才知道~