pip install 和conda install的區別,你想過嗎?

2021-02-19 吾非同

大部分情況下沒什麼區別。基本上,我更喜歡用pip,因為國內用pip網速比conda快哈哈,即便是用了國內源的情況下。

正式一點地說,pip和conda功能相似,但仍然有一些區別,conda官方就有文章專門說這個:https://www.anaconda.com/blog/understanding-conda-and-pip

pip是用來安裝python包的,安裝的是python wheel或者原始碼的包。從源碼安裝的時候需要有編譯器的支持,pip也不會去支持python語言之外的依賴項。

conda是用來安裝conda package,雖然大部分conda包是python的,但它支持了不少非python語言寫的依賴項,比如mkl cuda這種c c++寫的包。然後,conda安裝的都是編譯好的二進位包,不需要你自己編譯。所以,pip有時候系統環境沒有某個編譯器可能會失敗,conda不會。這導致了conda裝東西的體積一般比較大,尤其是mkl這種,動不動幾百兆甚至一G多。

然後,conda功能其實比pip更多。pip幾乎就是個安裝包的軟體,conda是個環境管理的工具。conda自己可以用來創建環境,pip不能,需要依賴virtualenv之類的。意味著你能用conda安裝python解釋器,pip不行。這一點我覺得是conda很有優勢的地方,用conda env可以很輕鬆地管理很多個版本的python,pip不行。

然後是一些可能不太容易察覺的地方。conda和pip對於環境依賴的處理不同,總體來講,conda比pip更加嚴格,conda會檢查當前環境下所有包之間的依賴關係,pip可能對之前安裝的包就不管了。這樣做的話,conda基本上安上了就能保證工作,pip有時候可能裝上了也不work。不過我個人感覺這個影響不大,畢竟主流包的支持都挺不錯的,很少遇到broken的情況。這個區別也導致了安裝的時候conda算依賴項的時間比pip多很多,而且重新安裝的包也會更多(會選擇更新舊包的版本)。

最後,pip的包跟conda不完全重疊,有些包只能通過其中一個裝。

https://www.zhihu.com/question/395145313/answer/1230725052

好文章,我在看❤️

相關焦點

  • pip install 和conda install有什麼區別嗎?
    基本上,我更喜歡用pip,因為國內用pip網速比conda快哈哈,即便是用了國內源的情況下。正式一點地說,pip和conda功能相似,但仍然有一些區別,conda官方就有文章專門說這個:https://www.anaconda.com/blog/understanding-conda-and-pip
  • Mac Using conda to install Tensorflow
    list to test if it workswhen I saved the conda problem, I try to install Tensorflow again, it seems to work this timeII.Second Trouble: downloading the package too slow
  • 你不得不懂的conda和pip --還在找conda與pip?三分鐘全掌握
    這個時候是否發現python的世界要一團糟了,當然這些方法都不可取,這個時候我們的conda工具應運而生,專來拯救世界。Conda是一個管理python環境和模塊的強大工具。虛擬環境和模塊包安裝的便利性,使用起來真的是很方便。前面文章介紹過anaconda的安裝,沒看過的小夥伴回頭可去看看。
  • Python第三方庫管理Pip和Conda
    python34 # for Linux & Mac# 刪除一個已有的環境conda remove --name python34 --all3、使用conda管理包# 安裝scipyconda install scipy# conda會從從遠程搜索scipy
  • 【一步到胃2】conda換源與pip換源
    使用過官方版python的同學應該知道,我們通常使用pip方法在命令行中下載python庫。具體的指令為「pip install 庫名」。
  • 教你裝逼了:怎麼樣發布你的 Python 代碼給別人 「pip install」
    我們經常在使用某些功能的時候,都會去安裝一些第三方的模塊,比如 「pip install requests」,感覺逼都被別人裝了,你有沒有想過,
  • 使用conda管理你的Python環境
    最近在學習Python,經常會使用到conda命令,conda是Python包及其依賴項和環境的管理工具。因此整理了一些常用的conda命令,以供大家和自己學習使用。例如:需要查看conda install 幫助conda install --help3、升級版本conda update -n base conda #update最新版本的conda
  • 慎用 pip install 命令
    使用pip install安裝軟體包時,大多數人不清楚自己所需的python模塊在哪個軟體包中,有時候甚至是模糊搜索安裝,這就給惡意利用的人提供了機會。事實上,像PyPI這樣的軟體包管理器是幾乎每個公司都依賴的關鍵基礎架構。針對這個問題的嚴重性我們可以在這個主題上談上幾天幾夜,不過看了下面的這張圖你就明白了。
  • 觀點 | 別再使用pip安裝TensorFlow了!用conda吧~
    試試 conda 吧,簡單方便安裝 TensorFlow,且能帶來更快的 CPU 性能。conda 是一個開源包和環境管理系統,能夠跨平臺運行,在 Mac、Windows 和 Linux 上都可以運行。如果你還沒用過 conda,我推薦你立刻開始使用,因為它會讓管理數據科學工具變得更輕鬆。
  • Conda|Python包和版本管理利器
    、Java、JavaScript、C / C ++、FORTRAN;支持作業系統:Windows, macOS和Linux。package和environmentpip管理packageVirtualenv管理environmentpackage安裝conda install $PACKAGE_NAMEpip install $PACKAGE_NAMEXpackage更新conda update --name $ENVIRONMENT_NAME $PACKAGE_NAMEpip install --upgrade $PACKAGE_NAMEXconda
  • Conda/R/pip/brew等國內鏡像大全拿走不謝~~
    所以你需要一個能夠快速訪問的鏡像,下載快還不容易斷。國內的鏡像比較全的有清華鏡像 (https://mirrors.tuna.tsinghua.edu.cn)和阿里雲鏡像 (https://developer.aliyun.com/mirror/)。下面以清華鏡像為例 (阿里雲鏡像沒有conda),展示下其操作。
  • conda 基本操作及原理
    答案見下表:對比項說明Miniconda只包括 conda,Python 和它們的依賴包。Anaconda包括 conda,conda-build,Python 和超過 150 個自動安裝的科學包及其依賴。
  • conda:一個當下最流行的Python虛擬環境工具
    Conda常用命令在conda環境中,常用的命令格式為:conda [命令 [參數]] 包管理與python -m pip list類似,conda可以列出當前環境下的所有包:conda list版本與升級conda有一套特別的機制,用於管理和維護依賴庫之間的關係。
  • 玩轉Conda,看這⼀篇就夠了
    Conda 主要是為 Python 程序創建的,適⽤於 Linux,OS X 和Windows,也可以打包和分發其他軟體,如R和Scala。對於長期使用python的同學來說,⼀定遇到過不少頭疼的python環境配置問題。不同的項⽬可能⽤了不同的python版本,而且也用了不同版本的開源python包。
  • conda第一步,你確定安裝成功了嗎?
    樹曰:那就在運行一次安裝唄,沒關係,比如conda install -y htseq,結果如下,會出現「# All requested packages already installed.」。說明你已經安裝過了,而且版本識最新版本了,conda就不會給你裝了。
  • [計算機科學工具系列] Anaconda和conda
    [計算機科學工具系列] Anaconda和condaAnaconda和conda分別是什麼?anaconda的安裝因為現在只有python3還在更新,而python3.x和python2.x本身的區別還是蠻大的,這篇文章只會討論python3下的安裝和使用,一來遵循官方倡導的統一為python3.x標準,二來也便於讀者理解和學習。
  • 你還不知道Pip
    Python有內置的標準庫,在你安裝完Python後這些標準庫都已默認安裝好了,但是還有很多有用的Pyhon庫不是內置安裝的,我們叫這些庫為第三方庫,要通過pip來安裝和管理第三方庫,還會管理庫之間的依賴關係。
  • Conda深度學習使用指南
    如果需要同時使用tensorflow 1.13和1.14版本,就無法實現。因此虛擬環境應運而生。虛擬環境就是創建不同的python解釋器,環境之間依賴是獨立的。conda有環境管理的功能,通過conda可以方便地切換環境,安裝不同的包和他對應的驅動等,尤其是安裝cuda和cudnn這兩個深度學習必須的依賴。
  • 如何將代碼發布到pypi,直接使用pip install安裝使用
    發布到pypi的好處有:其他人可以方便的通過pip install xxx來使用你的軟體包;在自己的項目中,也可以簡化代碼的組織,且不會造成路徑問題的困擾,通過pip install xxx的軟體包會放在site-packages文件夾中,可以在整個python的環境中直接導入,如果是單個的文件而沒有發布到pypi上,這時候如果路徑有問題的話,會報路徑錯誤。
  • 一張圖搞定Conda家族
    Miniconda Miniconda 文檔:https://docs.conda.io/en/latest/miniconda.htmlAnaconda 的精簡版,主要包括了conda, Python,和其他一些有用的包(pip, zlib,等等),如果想安裝其他包,用conda install command,可以安裝Anaconda裡面的包。