conda install和pip install有什么区别?

原创 admin  2020-10-29 16:08  阅读 2,449 views 次

python安装包的时候conda install和pip install有什么区别?

conda ≈ pip(python包管理) + virtualenv(虚拟环境) + 非python依赖包管理

智能机器人

虚拟环境

这里以创建名为EnvName的虚拟环境为例,python版本为3.6

创建:
创建conda create -n EnvName python=3.6
手动激活环境conda activate EnvName

移除:
手动退出环境conda deactivate
删除conda remove -n EnvName --all

非python依赖包管理

conda是一个跨平台软件包和环境管理器,conda软件包是二进制文件。从来不需要安装任何编译器。另外,conda软件包不限于Python软件。它们可能还包含C或C ++库,R软件包或任何其他软件。
这凸显了conda和pip之间的关键区别。pip安装Python软件包,而conda安装软件包,其中可能包含以任何语言编写的软件。例如,在使用pip之前,必须通过系统软件包管理器或下载并运行安装程序来安装Python解释器。另一方面,Conda可以直接安装Python软件包以及Python解释器。

python包管理

conda install xxx ,不管在什么环境下载的包,都统一放在一个Conda目录里面,比如在我电脑上(mac):
/Users/UserName/opt/miniconda3/pkgs
在目录下可以看到很多已经通过conda install的包。

所以,在某个环境下⾯下载了某个包,再到另外⼀个环境下载同样的包,conda会⾃动在上⾯的⽬录⾥⾯找,如
果有,就不会重复下载,⽽是将这个包的site-packages下的⽂件复制到当前环境下(和直接pip install ⼀
样)如:
~/.conda/envs/EnvName/python3.6/site-packages
使⽤conda uninstall xxx时,和pip uninstall⼀样,删除了当前环境site-packages⾥⾯的包内容,但是在上
述⽬录⾥⾯还存在这这个包,此时再到另外⼀个环境下载这个包,还是将site-packages复制⼀份到当前环
境下,做到了⼀次下载,到处使⽤。

pip

pip install xxx ,在特定环境中使用pip,下载的包会存在环境目录里,如:~/.conda/envs/EnvName/python3.6/site-packages
使用pip uninstall xxx,包就卸载掉了。

conda和pip的比较

conda pip
管理 二进制文件 wheel文件
需要编译器 no yes
包类型 任何包 python包
创建虚拟环境 yes no
依赖检查 yes no
包来源 Anaconda repo and cloud PyPI
本文地址:https://www.moonpm.com/928.html
关注我们:请关注一下我们的微信:扫描二维码产品设计研究与产品经理交流中心 (鼠标移入红色字)
版权声明:本文为原创文章,版权归 admin 所有,欢迎分享本文,转载请保留出处!

发表评论


表情