Nacos 是一個開源的服務發現、配置管理和服務治理平臺,是阿裡巴巴開源的一款產品。 Nacos 可以幫助開發者更好地管理微服務架構中的服務註冊、配置和發現等問題,提高系統的可靠性和可維護性。 ...
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 |