原來我一直安裝 Python 庫的姿勢都不對呀
平常我都是直接執(zhí)行 pip install 安裝的第三方庫,很多教程也是這么介紹的,一直以來我都認(rèn)為這是標(biāo)準(zhǔn)的、正確的安裝 Python 第三方庫的姿勢。直到我最近看到Python核心開發(fā)者Brett Cannon 寫的一篇文章。
簡單總結(jié)來說,他認(rèn)為其實最正確的安裝方式是使用 python-m pip
來執(zhí)行 pip 命令,無論什么情況下均是如此。
他在文章里大致提出了以下幾個建議:
- 建議用 python-m pip 安裝三方庫
- 務(wù)必使用虛擬環(huán)境,不要安裝至系統(tǒng) Python
- 建議用 pipx 獨立安裝工具
- 建議用 python-m venv 創(chuàng)建虛擬環(huán)境
- 可以將容器整體作為一個環(huán)境,跳過虛擬環(huán)境
我簡單解釋下每個建議背后的理由。
1. 建議用 python-m pip 安裝三方庫
理由是這樣做,可以實現(xiàn)更加準(zhǔn)確地控制庫所安裝的位置。
不少人的電腦里,會同時安裝不同版本的 Python。少數(shù)極端的用戶甚至?xí)惭b不同的小版本,如 3.7 和 3.7.4。這是直接用 pip的話,你自己可能都不清楚最終安裝到了哪個版本的Python 下面。
而 python-m pip
命令,可以讓你直接指定要安裝到哪個版本。
2. 務(wù)必使用虛擬環(huán)境,不要安裝至系統(tǒng) Python
這個建議應(yīng)該很多人都認(rèn)同,在實踐中也是這樣執(zhí)行的。如果不用虛擬環(huán)境隔離的話,系統(tǒng)版本的三方庫會變得特別的龐雜,甚至出現(xiàn)系統(tǒng)依賴庫的版本不合理,導(dǎo)致系統(tǒng)崩潰的嚴(yán)重問題。
3. 建議用 pipx 獨立安裝工具
如果你想嘗試 black、mypy 等開發(fā)工具,可以考慮通過 pipx 將這些工具各自安裝到獨立的環(huán)境中,同時又能夠直接在系統(tǒng)環(huán)境下調(diào)用終端的入口。
4. 建議用 python-m venv 創(chuàng)建虛擬環(huán)境
Brett 個人更傾向于使用 python-m venv 命令創(chuàng)建虛擬環(huán)境,理由和第一點建議相同,可以獲得更大的控制權(quán),精確指定所使用的版本。
當(dāng)然,使用 virutalenv 也是一個非常普遍的方式。
5. 可以將容器整體作為一個環(huán)境,跳過虛擬環(huán)境
如果項目是容器化開發(fā)的,那么把每個容器當(dāng)做成一個個獨立的虛擬環(huán)境使用也是沒有問題的。在容器里沒有必要再單獨去創(chuàng)建虛擬環(huán)境了。
當(dāng)然前提是,你不要安裝到系統(tǒng)自帶的 Python 中。
總結(jié)
以上所述是小編給大家介紹的安裝python庫的正確姿勢,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!
相關(guān)文章
tensorflow通過模型文件,使用tensorboard查看其模型圖Graph方式
今天小編就為大家分享一篇tensorflow通過模型文件,使用tensorboard查看其模型圖Graph方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-01-01python實現(xiàn)從網(wǎng)絡(luò)下載文件并獲得文件大小及類型的方法
這篇文章主要介紹了python實現(xiàn)從網(wǎng)絡(luò)下載文件并獲得文件大小及類型的方法,涉及Python操作網(wǎng)絡(luò)文件的相關(guān)技巧,需要的朋友可以參考下2015-04-04