conda 和 pip 的具体区别

conda 和 pip 的设计区别

  • conda:

    conda 是一个与语言无关的跨平台的软件包和环境管理工具,它不仅适用于管理Python包,还可以创建、管理任何类型的、用任何语言写的包和依赖。安装的都是编译好的二进制包,不需要编译。conda允许在conda环境中安装任何语言包。

  • pip

    pip 是Python包管理工具,且只能管理Python包,安装的是python wheel或者源代码的包,从源码安装的时候需要有编译器的支持。pip允许在任何环境中安装python包。

  • 相辅相成

    一般都是将conda 和 pip 结合使用,因为有些包只能通过pip安装(conda可安装的包的数量要远小于pip;conda可安装的包括Anaconda存储库的1500多个包以及云上提供的数千个包,而pip有超过150000个包可安装),而conda可以安装除python外的其他包。

conda install 和 pip install python包的区别

  • conda install

    安装包时,会列出所需的其他依赖包,并会附带安装这些依赖包

    conda 会把python也看成包,可以使用conda修改环境中的python版本

  • pip install

    安装包时不会自动安装所需的其他依赖包,只是在缺少其他依赖包时作错误提示,这时需要手动安装其他依赖包

    pip 不会将python看成包,不能对环境中的python进行多余的操作

    注意:

    pip install -i

    -i 参数表示指定镜像源(官方(一般是国外的)的下载源的一个镜像,一般是国内的,用以加快下载速度)

    pip install -f

    -f 参数表示从指定url文件中查找包的下载链接,这个url可以指向国内的服务器,国外的服务器,或者本地服务器都可以。

    (某些时候 -f 和 -i 都可以达到我们的目的)

conda list和 pip list 的区别

  • conda list

    conda下载的包会优先下载到关联文件夹中,然后查看pip下载路径下的安装文件,如果相应目录下没有该文件,将会将关联文件中的包的索引挪到pip下载的安装文件夹下,或者将包复制过去。

    而conda list会显示虚拟环境下的和关联文件中的包和对应的版本

  • pip list

    只会显示虚拟环境下的包和对应的版本

    即pip list是conda list 的子集

    注意

    pip3 和 pip : 如果环境中只有Python2,则只能只用pip; 若只有Python3,那么既可以使用pip 也可以使用 pip3,且二者等价; 若既有Python2 又有 Python3, 则pip默认管理Python2 的包,pip3默认管理Python3 的包。

    pip3 list 和 pip list: 在虚拟环境中,使用which pip 和 which pip3 可以查看pip 和 pip3 的目录位置,如果此时其都是虚拟环境的位置,则其都可以显示虚拟环境的pip 安装的包(虚拟环境只安装了python3时),若其中一个(假设为pip)对应上的是base环境,则pip list显示的是base环境中的pip安装的包。

posted @ 2022-08-01 11:11  jacknie23  阅读(2548)  评论(1编辑  收藏  举报