conda的好处

  • conda: python虚拟环境管理工具,其中一个功能是安装python包。
  • pip: python的包管理工具,可以用于安装python包。
  • miniconda: conda的压缩包,自带了一个名为base的虚拟环境,这个虚拟环境里只安装了python和几个必要的库。
  • anaconda:conda的压缩包。自带了一个名为base的虚拟环境,这个虚拟环境里安装了很多和数据处理有关的python包。

比如我们今天要跑一个开源仓库,该仓库依赖了python2.7和torch0.4,而你又不想把你现在环境中的torch1.7降为torch0.4,毕竟只有这一个工程需要torch0.4。而且你的环境是python3.6,难道你要为了这个工程再去装个python2.7吗?此时,你可以执行如下操作

conda create -n py27 python=2.7
conda activate py27
pip install torch==0.4

等你执行完了这个程序,你想回到原来的python,只需要执行

conda deactivate 

就会回到你之前的环境。你在py27这个环境里安装的一切包,不管是pip还是conda安装的,都不会影响你当前的环境。

另外,尽管conda和pip都提供了安装python包的功能,但两者的源并不重合。两者各自维护自己的源。conda源中包含了包含了很多非python的包,比如gcc,nodejs,cuda,都可以用conda来安装和管理。因此很多时候你没得选。比如有个工程需要torch0.4,而torch0.4依赖了cuda9.0。而你电脑里只有cuda11.0,你难道要再去网上下个cuda9.0吗?此时你只需要使用

conda install cudatoolkit=9.0

解决了cuda版本问题,不香吗?pip是不会托管cudatoolkit这种包的,因此这时conda和pip配合使用就是最好的解决方案。

质疑浪费空间的,miniconda安装包也就50多M(里面带了一个python),比python安装包大不了多少,但能让你有机的组织起任意多个python环境来。为何不用呢?

conda和docker的区别:

conda主要是python环境(也可装其他库);用来代码开发;

docker更广,能包含OS等更多环境,用来将开发、测试、部署一体化,可对接kubernetes;

conda环境可以导出至文件,在其他机器上重建:

conda env export > my_env.yml

重建:
conda env create -f my_env.yml

  • 5
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值