有關pip與conda的介紹

Conda vs. Pip vs. Virtualenv 命令對比

任務Conda 命令Pip 命令Virtualenv 命令
安裝包conda install $PACKAGE_NAMEpip install $PACKAGE_NAMEX
更新包conda update --name $ENVIRONMENT_NAME $PACKAGE_NAMEpip install --upgrade $PACKAGE_NAMEX
更新包管理器conda update condaLinux/macOS: pip install -U pip
Win: python -m pip install -U pip
X
卸載包conda remove --name $ENVIRONMENT_NAME $PACKAGE_NAMEpip uninstall $PACKAGE_NAMEX
創建環境conda create --name $ENVIRONMENT_NAME pythonXcd $ENV_BASE_DIR; virtualenv $ENVIRONMENT_NAME
激活環境conda activate $ENVIRONMENT_NAME*Xsource $ENV_BASE_DIR/$ENVIRONMENT_NAME/bin/activate
停用環境conda deactivateXdeactivate
卸載環境conda env remove --name 環境名稱
搜索可用包conda search $SEARCH_TERMpip search $SEARCH_TERMX
從指定來源安裝包conda install --channel $URL $PACKAGE_NAMEpip install --index-url $URL $PACKAGE_NAMEX
列出已安裝的包conda list --name $ENVIRONMENT_NAMEpip listX
創建依賴文件conda list --exportpip freezeX
列出所有環境conda info --envsX安裝 virtualenv wrapper 后使用 lsvirtualenv
安裝其他包管理器conda install pippip install condaX
安裝 Pythonconda install python=x.xXX
更新 Pythonconda update python*XX

備注:

  • conda activate 只適用于 Conda 4.6 及更高版本。在 Conda 4.6 之前的版本中,可以使用以下命令:
    • Windows: activate
    • Linux 和 macOS: source activate
  • conda update python 會更新到該系列的最新版本,因此 Python 2.x 會更新到最新的 2.x 版本,Python 3.x 會更新到最新的 3.x 版本。

conda

conda 是一個開源的包管理器和環境管理器,最初由 Anaconda 提供,支持Python 以及其他語言(如 R、Ruby、Lua)的包管理。conda 不僅能安裝和管理 Python 包,還能創建獨立的虛擬環境,并安裝其他語言的包。

Conda 命令

  • conda activate:激活指定的 Conda 環境,使當前終端會話使用該環境的 Python 和庫。
  • conda clean:清理 Conda 緩存,刪除不再需要的包和索引,釋放磁盤空間。
  • conda compare:比較不同環境中的包或包版本。
  • conda config:配置 Conda 的行為,例如設置源、代理等。
  • conda create:創建一個新的 Conda 環境,并指定環境中的 Python 版本及其他包。
  • conda deactivate:停用當前激活的 Conda 環境。
  • conda doctor:檢查 Conda 環境并解決常見問題。
  • conda env:管理 Conda 環境,例如創建、導出環境等。
  • conda info:顯示 Conda 環境和配置信息,包括已安裝的環境列表。
  • conda init:初始化 Conda,使得 Conda 能夠在終端中自動激活和管理環境。
  • conda install:安裝指定的包及其依賴,支持從 Conda 倉庫或指定的源安裝。
  • conda list:列出當前環境中已安裝的所有包及其版本。
  • conda notices:顯示 Conda 系統的通知信息。
  • conda package:管理 Conda 包,例如安裝、更新和刪除。
  • conda repoquery:查詢 Conda 倉庫中的包信息。
  • conda remove:卸載指定的包。
  • conda rename:重命名 Conda 環境。
  • conda run:在指定的環境中運行命令。
  • conda search:搜索 Conda 倉庫中的包。
  • conda update:更新指定環境中的包或 Conda 本身。

pip

pipPython 的官方包管理工具,用于安裝和管理 Python 包。它從 Python 包索引(PyPI)上下載并安裝包

pip venv

venv 是 Python 內建的一個用于創建獨立虛擬環境的工具。每個虛擬環境有自己的 Python 解釋器和庫集合,確保包之間的依賴不沖突。

區別

1. 總體

  • Pip

    • 用途:Pip 是 Python Packaging Authority 推薦的工具,用于從 Python 包索引(PyPI)安裝 Python 軟件包。
    • 包類型:僅限于 Python 包,安裝的包通常是 .whl(wheel)格式,或者是源代碼格式(需要編譯)。
    • 依賴管理:Pip 安裝包時,不會檢查環境中的所有包的依賴關系。它會按順序遞歸安裝依賴,可能會導致依賴沖突或破壞環境的穩定性。
  • Conda

    • 用途:Conda 是一個跨平臺的包和環境管理工具,可以從 Anaconda 倉庫或 Anaconda Cloud 安裝包,支持安裝和管理包含 C/C++ 庫、R 包等在內的多種軟件。
    • 包類型:支持任何類型的軟件包,不僅僅是 Python 包,還包括 C、C++、R 等。
    • 依賴管理:Conda 使用 SAT 解算器來確保環境中所有包的依賴關系得到滿足,因此可以避免安裝包時出現的版本沖突問題。

2. 環境管理

  • Pip:沒有內建的環境管理功能,通常依賴 virtualenvvenv 來創建虛擬環境來隔離不同的項目和包依賴。
  • Conda:提供內建的環境管理功能,可以輕松創建和管理不同版本的 Python 及其包,適用于數據科學等領域,不同工具可能需要不同版本的 Python 或庫。

3. 安裝包時的依賴檢查

  • Pip:安裝包時沒有自動檢查依賴,可能會導致環境破損,尤其是在包間依賴關系復雜時。
  • Conda:使用 SAT 解算器自動檢查依賴,確保安裝的所有包的依賴關系都得到滿足,減少環境破損的風險。

有時某些包只在 PyPI 上提供,而不在 Conda 倉庫中。此時,使用 conda 安裝可用的包,然后使用 pip 安裝 PyPI 上的包。盡量優先使用 conda 安裝包,尤其是那些包含底層依賴的包。只有在 conda 中找不到所需包時,再使用 pip 來安裝 PyPI 上的包。Anaconda 倉庫中提供了超過 1500 個包,包括最流行的數據科學、機器學習和 AI 框架。通過 conda 可以安裝這些包,以及來自 conda-forge 和 bioconda 等頻道的數千個額外包,所有這些都可以通過 conda 安裝。盡管這些包的數量龐大,但與 PyPI 上超過 150,000 個包相比,它的數量仍然較少。偶爾會需要某些在 conda 中沒有的包,但可以在 PyPI 上找到,并且可以通過 pip 安裝。

特性CondaPip
支持的包類型任何類型的軟件包(Python、C、C++、R等)僅支持 Python 包
依賴管理內建依賴檢查,避免沖突沒有內建依賴檢查,可能導致環境破損
環境管理內建環境管理功能依賴 virtualenvvenv 來創建環境
安裝源Anaconda 倉庫與 CloudPyPI
是否需要編譯器不需要需要,特別是從源代碼安裝時
包管理方式包是預編譯的二進制文件包是源代碼或 .whl 格式

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/899644.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/899644.shtml
英文地址,請注明出處:http://en.pswp.cn/news/899644.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【Linux】調試器——gdb使用

目錄 一、預備知識 二、常用指令 三、調試技巧 (一)監視變量的變化指令 watch (二)更改指定變量的值 set var 正文 一、預備知識 程序的發布形式有兩種,debug和release模式,Linux gcc/g出來的二進制…

【Ubuntu常用命令】

1.將本地服務器文件或文件夾傳輸到遠程服務器 文件 scp /data/a.txt administrator10.60.51.20:/home/administrator/ 文件夾 scp -r /data/ administrator10.60.51.20:/home/administrator/ 2.從遠程服務器傳輸文件到本地服務器 scp administrator10.60.51.20:/data/a.txt /h…

golang 的time包的常用方法

目錄 time 包方法總結 類型 time.Time 的方法 庫函數 代碼示例: time 包方法總結 類型 time.Time 的方法 方法名描述示例               ?Now()獲取當前時間和日期time.Now()Format()格式化時間為字符串time.Now().Format("2006-01-02 15…

Elasticsearch:使用 Azure AI 文檔智能解析 PDF 文本和表格數據

作者:來自 Elastic James Williams 了解如何使用 Azure AI 文檔智能解析包含文本和表格數據的 PDF 文檔。 Azure AI 文檔智能是一個強大的工具,用于從 PDF 中提取結構化數據。它可以有效地提取文本和表格數據。提取的數據可以索引到 Elastic Cloud Serve…

【ArcGIS操作】ArcGIS 進行空間聚類分析

ArcGIS 是一個強大的地理信息系統(GIS)軟件,主要用于地理數據的存儲、分析、可視化和制圖 啟動 ArcMap 在 Windows 中,點擊“開始”菜單,找到 ArcGIS文件夾,然后點擊 ArcMap 添加數據 添加數據 - 點擊工具…

RabbitMQ消息相關

MQ的模式: 基本消息模式:一個生產者,一個消費者work模式:一個生產者,多個消費者訂閱模式: fanout廣播模式:在Fanout模式中,一條消息,會被所有訂閱的隊列都消費。 在廣播…

緩存使用紀要

一、本地緩存:Caffeine 1、簡介 Caffeine是一種高性能、高命中率、內存占用低的本地緩存庫,簡單來說它是 Guava Cache 的優化加強版,是當下最流行、最佳(最優)緩存框架。 Spring5 即將放棄掉 Guava Cache 作為緩存機…

2025年3月29日筆記

問題&#xff1a;創建一個長度為99的整數數組&#xff0c;輸出數組的每個位置數字是幾&#xff1f; 解題思路&#xff1a; 1.因為題中沒有明確要求需要輸入,所以所有類型的答案都需要寫出 解法1&#xff1a; #include<iostream> #include<bits/stdc.h> using n…

hadoop相關面試題以及答案

什么是Hadoop&#xff1f;它的主要組件是什么&#xff1f; Hadoop是一個開源的分布式計算框架&#xff0c;用于處理大規模數據的存儲和計算。其主要組件包括Hadoop Distributed File System&#xff08;HDFS&#xff09;和MapReduce。 解釋HDFS的工作原理。 HDFS采用主從架構&…

微信小程序:數據拼接方法

1. 使用 concat() 方法拼接數組 // 在原有數組基礎上拼接新數組 Page({data: {originalArray: [1, 2, 3]},appendData() {const newData [4, 5, 6];const combinedArray this.data.originalArray.concat(newData);this.setData({originalArray: combinedArray});} }) 2. 使…

Python之貪心算法

Python實現貪心算法(Greedy Algorithm) 概念 貪心算法是一種在每一步選擇中都采取當前狀態下最優的選擇&#xff0c;從而希望導致結果是全局最優的算法策略。 基本特點 局部最優選擇&#xff1a;每一步都做出當前看起來最佳的選擇不可回退&#xff1a;一旦做出選擇&#xf…

【 <二> 丹方改良:Spring 時代的 JavaWeb】之 Spring Boot 中的 AOP:實現日志記錄與性能監控

<前文回顧> 點擊此處查看 合集 https://blog.csdn.net/foyodesigner/category_12907601.html?fromshareblogcolumn&sharetypeblogcolumn&sharerId12907601&sharereferPC&sharesourceFoyoDesigner&sharefromfrom_link <今日更新> 一、開篇整…

TCP/IP協議簇

文章目錄 應用層http/httpsDNS補充 傳輸層TCP1. 序列號與確認機制2. 超時重傳3. 流量控制&#xff08;滑動窗口機制&#xff09;4. 擁塞控制5. 錯誤檢測與校驗6. 連接管理總結 網絡層ARP**ARP 的核心功能**ARP 的工作流程1. ARP 請求&#xff08;Broadcast&#xff09;2. ARP 緩…

SpringBoot分布式項目訂單管理實戰:Mybatis最佳實踐全解

一、架構設計與技術選型 典型分布式訂單系統架構&#xff1a; [網關層] → [訂單服務] ←→ [分布式緩存]↑ ↓ [用戶服務] [支付服務]↓ ↓ [MySQL集群] ← [分庫分表中間件]技術棧組合&#xff1a; Spring Boot 3.xMybatis-Plus 3.5.xShardingSpher…

微服務架構中的精妙設計:環境和工程搭建

一.前期準備 1.1開發環境安裝 Oracle從JDK9開始每半年發布?個新版本, 新版本發布后, ?版本就不再進?維護. 但是會有?個?期維護的版本. ?前?期維護的版本有: JDK8, JDK11, JDK17, JDK21 在 JDK版本的選擇上&#xff0c;盡量選擇?期維護的版本. 為什么選擇JDK17? S…

Maven 構建配置文件詳解

Maven 構建配置文件詳解 引言 Maven 是一個強大的項目管理和構建自動化工具,廣泛應用于 Java 開發領域。在 Maven 項目中,配置文件扮演著至關重要的角色。本文將詳細介紹 Maven 構建配置文件的相關知識,包括配置文件的作用、結構、配置方法等,幫助讀者更好地理解和應用 M…

【YOLO系列】基于YOLOv8的無人機野生動物檢測

基于YOLOv8的無人機野生動物檢測 1.前言 在野生動物保護、生態研究和環境監測領域&#xff0c;及時、準確地檢測和識別野生動物對于保護生物多樣性、預防人類與野生動物的沖突以及制定科學的保護策略至關重要。傳統的野生動物監測方法通常依賴于地面巡邏、固定攝像頭或無線傳…

Hive UDF開發實戰:構建高性能JSON生成器

目錄 一、背景與需求場景 二、開發環境準備 2.1 基礎工具棧 2.2 Maven依賴配置 三、核心代碼實現

分布式特性對比

以下是關于 分片(Sharding)、一致性哈希、兩階段提交(2PC)、Paxos、Raft協議、數據局部性 的對比分析與關聯性總結,涵蓋核心機制、適用場景及相互關系: 一、概念對比與關聯 概念核心目標關鍵特性典型應用場景與其它技術的關聯分片(Sharding)數據水平拆分按規則(哈希、…

歷史分鐘高頻數據

外盤期貨高頻分鐘歷史回測行情數據下載 鏈接: https://pan.baidu.com/s/1RUbAMxfiSyBlXfrwT_0n2w?pwdhgya 提取碼: hgya通過美國期貨高頻交易所歷史行情可以看到很多細節比如品種之一&#xff1a;FGBX_1min (1)在2024-02-29 11:14:00關鍵交易時刻&#xff0c;一筆大規模訂單突…