python 依賴管理簡介

python 雖然好用,但是項目一多,依賴的管理就是個大問題了,新項目已經(jīng)全在用 python3,而老項目都是 pthon2,更蛋疼的是,不同項目之間還可能依賴了同一個庫的不同版本!我們試著解決這個問題:

pip: 解決項目的全局依賴問題

最開始的時候,我們都是手動安裝庫,而庫可能還有依賴的庫,這樣最終會形成一張樹的依賴結(jié)構(gòu)。解決這個問題,我們可以使用 pip。

它主要解決包的問題,包括安裝、更新、刪除等。
簡介: https://pip.pypa.io/en/stable/quickstart/
安裝: https://pip.pypa.io/en/stable/installing/

virtualenv: 解決不同項目間使用同一依賴不同版本的問題

pip 可以幫助我們方便地安裝項目需要的依賴,不過隨著項目的變多,我們可能會在不同的項目里使用同一個庫的不同版本,甚至python 的不同版本,這時,需要一個新的工具來解決這個問題: virtualenv。

它可以幫助我們創(chuàng)建一個虛擬、獨立的依賴環(huán)境,以保證每個項目可以使用指定的依賴,包括 python、第三方庫等。

virtualenv官網(wǎng)
virtualenv簡介

conda: 解決非python依賴的問題,以及簡單統(tǒng)一的操作方式

pip 和 virtualenv的組合,可以解決絕大部分 python的依賴管理問題,但是,隨著項目的發(fā)展,我們可能需要非 python 的依賴,來解決現(xiàn)有問題。

conda 作為一個打包工具和安裝程序,可以幫助我們解決主流的開發(fā)環(huán)境和依賴的問題,除 python 外,它還支持:R, Ruby, Lua, Scala, Java, JavaScript, C/C++, FORTRAN等語言。一定程度上,可以把它看著 pip 和 virtualenv 的結(jié)合(實際上,pip 和 conda 是互補的關(guān)系,因為 pip 可以安裝一部分 conda 不能安裝的依賴)。

官網(wǎng) (很卡,不推薦,建議使用下面的鏡像)
國內(nèi)鏡像

總結(jié)

virtualenv和conda都是通過修改 shell 里的環(huán)境變量來達(dá)到修改環(huán)境的目的,基本原理類似。
不同的項目可以用不同的工具,不要求全,適合才是最好的。
Pycharm 對以上工具都有很好的支持,善用工具可以極大提高效率。

以下是參考資料:
Anaconda介紹、安裝及使用教程
Anacodna之conda與 virtualenv對比使用教程,創(chuàng)建虛擬環(huán)境

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容