Conda和pip通常被認為幾乎完全相同,雖然這兩個工具的某些功能重疊,但它們設計用于不同的目的, Pip是Python Packaging Authority推薦的用于從Python Package Index安裝包的工具, Pip安裝打包為wheels或源代碼分發的Python軟體,后者可能要求系統安裝兼容的編譯器和庫,
Conda是跨平臺的包和環境管理器,可以安裝和管理來自Anaconda repository以 Anaconda Cloud的conda包, Conda包是二進制檔案,需要使用編譯器來安裝它們,另外,conda包不僅限于Python軟體,它們還可能包含C或C ++庫,R包或任何其他軟體,
這是conda和pip之間的關鍵區別, Pip安裝Python包,而conda安裝包可能包含用任何語言撰寫的軟體的包,在使用pip之前,必須通過系統包管理器或下載并運行安裝程式來安裝Python解釋器,而Conda可以直接安裝Python包以及Python解釋器,
另一區別是conda能夠創建可以包含不同版本的Python或其他軟體包的隔離環境,在使用資料科學工具時,這非常有用,因為不同的工具可能包含沖突的要求,這些要求可能會阻止它們全部安裝到單個環境中, Pip沒有內置的環境支持,而是依賴于virtualenv或venv 等其他工具來創建隔離環境, pipenv,poetry和hatch wrap pip和virtualenv等工具提供了統一的方法來處理這些環境,
Pip和conda在如何實作環境中的依賴關系方面也有所不同,安裝包時,pip會在遞回的串行回圈中安裝依賴項,沒有努力確保同時滿足所有包的依賴性,如果較早安裝的軟體包與稍后安裝的軟體包具有不兼容的依賴性版本,則可能導致破壞的環境,conda使用可確保滿足環境中安裝的所有包的所有要求,此檢查可能需要額外的時間,但有助于防止創建破壞的環境,前期關于依賴關系包的元資料是正確的,
考慮到conda和pip之間的相似性,有些人試圖將這些工具結合起來創建資料科學環境也就不足為奇了,將pip與conda結合的主要原因是有些包只能通過pip安裝, Anaconda創酷提供超過1,500個軟體包,包括最流行的資料科學,機器學習和AI框架,這些,以及包括conda-forge和bioconda在內的資料通過Anaconda云提供的數千個附加軟體包,可以使用conda進行安裝,盡管有大量的軟體包,但與PyPI上提供的150,000多個軟體包相比,它仍然很小,有時候需要的包沒有conda包,但在PyPI上有,可以用pip安裝,
參考資料
- 軟體測驗精品書籍檔案下載持續更新 https://github.com/china-testing/python-testing-examples 請點贊,謝謝!
- 本文涉及的python測驗開發庫 謝謝點贊! https://github.com/china-testing/python_cn_resouce
- python精品書籍下載 https://github.com/china-testing/python_cn_resouce/blob/main/python_good_books.md
類別 | conda | pip |
---|---|---|
管理 | 二進制 | wheel 或原始碼 |
需要編譯器 | no | yes |
語言 | any | Python |
虛擬環境 | 支持 | 通過 virtualenv或venv等支持 |
依賴性檢查 | yes | 螢屏提示用戶選擇 |
包來源 | Anaconda repo和cloud | PyPi |
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/552821.html
標籤:其他
上一篇:Java設計模式-外觀模式
下一篇:返回列表