Miniconda概述
Miniconda是什么?
要解释Miniconda是什么,先要弄清楚什么是Anaconda,它们之间的关系是什么?
而要知道Anaconda是什么,最先要明白的是搞清楚什么是Conda,参考:Conda简单教程。
一言以蔽之,Conda是Python中用于管理依赖包和虚拟环境的工具,Anaconda是一个带有Conda工具的软件包(附带了Conda、python和150多个科学软件包及其相关的包),而Miniconda是一个Anaconda的轻量级替代,默认只包含了Python和Conda。
也就是说,安装了Miniconda,就可以直接使用Python和Conda了。
为什么要使用Miniconda呢?不使用Miniconda难道不可以吗?
当然可以不用Miniconda,没有Miniconda也不妨碍使用Python,实际上没有Minicoda在Python中也是可以实现依赖包和虚拟环境管理的。
Python自带的包管理工具为pip,虚拟环境管理可以使用virtualenv(需要单独安装:pip install virtualenv
),但是在这么一些情况下使用Miniconda能够比较方便的解决问题。
场景1:系统本身已经存在了Python2(大多数Linux系统都会自带),但是应用程序运行环境需要Python3,此时使用Miniconda可以在不直接升级系统本身自带的Python2的情况下使用Python3。当然直接升级系统本身自带的Python2为Python3也是可以的,但是存在一定的危险性,这样做可能会破坏某些系统工具的运行环境。比如在产线环境需要临时使用Python3环境,是不太可能允许直接去升级系统自带的Python2的。关于升级Python2到Python3可以参考:Python2升级到Python3。
场景2:系统需要存在多个环境,便于在Python2和Python3之间来回切换,使用Miniconda能很好地解决这个需求。
场景3:系统本身不带Python,手动安装Python可能比较慢,直接安装Miniconda即可使用Python环境。
安装Miniconda
Miniconda可以从国内镜像站下载,比如:清华大学开源软件镜像站。
至于需要下载哪个版本的Miniconda,需要根据使用Python版本的需求而定,详见:Miniconda,而Anaconda支持的Python版本信息则详见传送门。
代码语言:javascript复制# 系统本身的Python版本为:3.6.9
$ python -V
Python 3.6.9
$ wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda-3.9.1-Linux-x86_64.sh
$ bash Miniconda-3.9.1-Linux-x86_64.sh
根据提示信息一路安装完毕,最后会将miniconda添加到环境变量PATH中。
代码语言:javascript复制# added by Miniconda 3.9.1 installer
export PATH="/home/chench/miniconda/bin:$PATH"
说明: 在不同的Linux发行版上安装Miniconda后,添加conda到PATH变量的方式可能有所不同,但通常都是在~/.bashrc
文件中实现的。
安装完毕之后重新登陆系统,查看conda信息:
代码语言:javascript复制$ conda info
Current conda install:
platform : linux-64
conda version : 3.9.1
conda-build version : not installed
python version : 2.7.9.final.0
requests version : 2.25.0
root environment : /home/zhangsan/miniconda (writable)
default environment : /home/zhangsan/miniconda
envs directories : /home/zhangsan/miniconda/envs
package cache : /home/zhangsan/miniconda/pkgs
channel URLs : http://repo.continuum.io/pkgs/free/linux-64/
http://repo.continuum.io/pkgs/free/noarch/
http://repo.continuum.io/pkgs/pro/linux-64/
http://repo.continuum.io/pkgs/pro/noarch/
config file : None
is foreign system : False
查看Python信息:
代码语言:javascript复制# 注意:此时查看Python版本信息时已经是Conda自带的默认Python版本了
$ python -V
Python 2.7.9 :: Continuum Analytics, Inc.
执行conda -h
可以查看详细用法。
说明:
当把conda添加到PATH变量时,登录系统后会进入到conda中激活的环境中,此时执行python -V
查看到的版本信息是conda环境中的Python。如果不再使用conda了,可以将conda从PATH变量中移除即可,如下所示:
$ cat .bashrc
# added by Miniconda 3.9.1 installer
# export PATH="/home/chench/miniconda/bin:$PATH"
使用Miniconda
添加镜像源
安装完Miniconda之后首先要做的就是添加镜像源,便于快速下载相应模块包。
修改~/.condarc
文件内容如下:
channels:
- defaults
show_channel_urls: true
default_channels:
- https://mirrors.ustc.edu.cn/anaconda/pkgs/main/
- https://mirrors.ustc.edu.cn/anaconda/pkgs/free/
- https://mirrors.ustc.edu.cn/anaconda/cloud/conda-forge/
- https://mirrors.ustc.edu.cn/anaconda/cloud/msys2/
- https://mirrors.ustc.edu.cn/anaconda/cloud/bioconda/
- https://mirrors.ustc.edu.cn/anaconda/cloud/menpo/
- https://mirrors.ustc.edu.cn/anaconda/cloud/
custom_channels:
conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
ustc: http://mirrors.ustc.edu.cn/anaconda/pkgs/free/
alibaba : https://mirrors.aliyun.com/pypi/simple/
ssl_verify: true
修改完毕并保存文件内容之后执行conda clean -i
清除索引缓存,保证用的是镜像站提供的索引。
管理虚拟环境
代码语言:javascript复制# 查看环境信息,当前环境会通过一个星号 (*) 标识
$ conda env list
# conda environments:
#
root * /home/zhangsan/miniconda
如上,默认的环境名称为root。
创建虚拟环境:
代码语言:javascript复制# 新建一个基于Python 3.6的环境,名称为myenv
$ conda create -n myenv python=3.6.2
$ conda env list
# conda environments:
#
myenv /home/chench/miniconda/envs/myenv
root * /home/chench/miniconda
创建完新环境之后查看环境列表,默认还是root
环境。
选择虚拟环境:
代码语言:javascript复制$ source activate myenv
discarding /home/chench/miniconda/bin from PATH
prepending /home/chench/miniconda/envs/myenv/bin to PATH
# 在指定环境中查看Python版本时正是创建环境时指定的版本
$ python -V
Python 3.6.2 :: Continuum Analytics, Inc.
退出虚拟环境:
代码语言:javascript复制# 退出当前所处的虚拟环境
$ source deactivate
discarding /home/chench/miniconda/envs/myenv/bin from PATH
# 再次查看Python版本时就是conda默认root环境的Python版本
$ python -V
Python 2.7.9 :: Continuum Analytics, Inc.
删除虚拟环境:
代码语言:javascript复制# 删除指定名称的虚拟环境
$ conda env remove -n myenv
$ conda env list
# conda environments:
#
root * /home/chench/miniconda
管理软件包
代码语言:javascript复制# 查看在当前所在虚拟环境中已经安装的包
$ conda list
# 在当前所在的虚拟环境中安装软件包
$ conda install <package_name>
# 在指定虚拟环境中安装包
$ conda install --name <env_name> <package_name>
# 卸载当前所在虚拟环境下的指定包
$ conda remove <package_name>
# 卸载指定虚拟环境下的指定包
$ conda remove --name <env_name> <package_name>
# 升级当前所在虚拟环境下的指定包
$ conda update <package_name>
【参考】
https://blog.csdn.net/xcntime/article/details/113874750 解决conda创建新环境慢 conda install 速度慢 报错问题
https://developer.aliyun.com/article/693858 python开发之虚拟环境管理:virtualenv、virtualenvwrapper、pycharm
https://blog.csdn.net/NDKHBWH/article/details/101299078 Anaconda查找包,下载包,更新包,删除包
https://www.jianshu.com/p/854b11a18bef Miniconda安装及其使用