conda 命令和pip命令的区别,以及conda命令大全

一、conda 命令和pip命令的区别

pip是用来安装python包的,安装的是python wheel或者源代码的包。从源码安装的时候需要有编译器的支持,pip也不会去支持python语言之外的依赖项。

conda是用来安装conda package,虽然大部分conda包是python的,但它支持了不少非python语言写的依赖项,比如mkl cuda这种c c++写的包。然后,conda安装的都是编译好的二进制包,不需要你自己编译。所以,pip有时候系统环境没有某个编译器可能会失败,conda不会。这导致了conda装东西的体积一般比较大,尤其是mkl这种,动不动几百兆甚至一G多。

然后,conda功能其实比pip更多。pip几乎就是个安装包的软件,conda是个环境管理的工具。conda自己可以用来创建环境,pip不能,需要依赖virtualenv之类的。意味着你能用conda安装python解释器,pip不行。这一点我觉得是conda很有优势的地方,用conda env可以很轻松地管理很多个版本的python,pip不行。

然后是一些可能不太容易察觉的地方。conda和pip对于环境依赖的处理不同,总体来讲,conda比pip更加严格,conda会检查当前环境下所有包之间的依赖关系,pip可能对之前安装的包就不管了。这样做的话,conda基本上安上了就能保证工作,pip有时候可能装上了也不work。不过我个人感觉这个影响不大,毕竟主流包的支持都挺不错的,很少遇到broken的情况。这个区别也导致了安装的时候conda算依赖项的时间比pip多很多,而且重新安装的包也会更多(会选择更新旧包的版本)。

最后,pip的包跟conda不完全重叠,有些包只能通过其中一个装。

二、conda命令大全

1. 获取版本号/帮助

获取版本号conda -V
conda --version
获取帮助conda -h
conda --help
获取环境相关命令的帮助conda env -h
所有 --单词 都可以用 -单词首字母来代替比如 -version 可以用 -V来代替,只不过有的是大写,有的可能是小写

2. 环境相关

创建环境conda create -n environment_name
创建指定python版本下包含某些包的环境conda create -n environment_name python=3.7 numpy scipy
进入环境conda activate environment_name
退出环境conda deactivate
删除环境conda remove -n yourname --all
列出环境conda env list / conda info -e
复制环境conda create --name new_env_name --clone old_env_name
指定目录下生成环境yml文件conda env export > 目录/environment.yml
从yml文件创建环境conda env create -n env_name -f environment.yml

4. 管理包

对包的管理是在某个环境下进行的, 先进入特定环境再进行包的操作比较好,不会出现把本该安装在A环境中的包安装在了B环境中这种情况。
安装包conda instal package_name
查看当前环境包列表conda list
查看指定环境包列表conda list -n environment_name
查看conda源中包的信息conda search package_name
更新包conda update package_name
删除包conda remove package_name
清理无用的安装包conda clean -p
清理tar包conda clean -t
清理所有安装包及cacheconda clean -y --all
更新anacondaconda update annaconda

最后三个清理命令类似于清理手机上的安装包、缓存,不会删除某个库,只是删除已经安装完成的那些安装包。

5. 更换conda源

5.1 更换清华源

windows:

命令行中直接使用以下命令

 conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
 conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge 
 conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/

设置搜索时显示通道地址

 conda config --set show_channel_urls yes

linux:

将以上配置文件写在~/.condarc中 vim ~/.condarc

5.2 更换中科大源

 conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/main/
 conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/free/
 conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/conda-forge/
 conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/msys2/
 conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/bioconda/
 conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/menpo/
 ​
 conda config --set show_channel_urls yes
 ​

5.3 显示现有安装源

 conda config --show channels

5.4 恢复默认源

 conda config --remove-key channels

5.5 移除某个源

 conda config --remove channels https://mirrors.cloud.tencent.com/anaconda/pkgs/pro/
  • 14
    点赞
  • 84
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值