Miniconda安装和使用

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版本信息则详见传送门

# 系统本身的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中。

# added by Miniconda 3.9.1 installer
export PATH="/home/zhangsan/miniconda/bin:$PATH"

说明: 在不同的Linux发行版上安装Miniconda后,添加conda到PATH变量的方式可能有所不同,但通常都是在~/.bashrc文件中实现的。

安装完毕之后重新登陆系统,查看conda信息:

$ 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信息:

# 注意:此时查看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/zhangsan/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清除索引缓存,保证用的是镜像站提供的索引。

管理虚拟环境

# 查看环境信息,当前环境会通过一个星号 (*) 标识
$ conda env list
# conda environments:
#
root                  *  /home/zhangsan/miniconda

如上,默认的环境名称为root。

创建虚拟环境:

# 新建一个基于Python 3.6的环境,名称为myenv
$ conda create -n myenv python=3.6.2
$ conda env list
# conda environments:
#
myenv                    /home/zhangsan/miniconda/envs/myenv
root                  *  /home/zhangsan/miniconda

创建完新环境之后查看环境列表,默认还是root环境。

选择虚拟环境:

$ source activate myenv
discarding /home/zhangsan/miniconda/bin from PATH
prepending /home/zhangsan/miniconda/envs/myenv/bin to PATH

# 在指定环境中查看Python版本时正是创建环境时指定的版本
$ python -V
Python 3.6.2 :: Continuum Analytics, Inc.

退出虚拟环境:

# 退出当前所处的虚拟环境
$ source deactivate
discarding /home/zhangsan/miniconda/envs/myenv/bin from PATH

# 再次查看Python版本时就是conda默认root环境的Python版本
$ python -V
Python 2.7.9 :: Continuum Analytics, Inc.

删除虚拟环境:

# 删除指定名称的虚拟环境
$ conda env remove -n myenv
$ conda env list
# conda environments:
#
root                  *  /home/zhangsan/miniconda

管理软件包

# 查看在当前所在虚拟环境中已经安装的包
$ 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>

说明:
在conda管理的虚拟环境中,软件包的管理除了可以使用conda实现,同样还可以直接使用pip(使用pip安装的软件包在对应虚拟环境目录中,与其他虚拟环境是隔离开的,互不影响)。
但是使用pip安装的软件包后,在使用conda list查看时会提示Could not extract name and version,例如:

# 使用conda无法正常安装selenium,使用pip安装selenium后执行`conda list`显示如下信息
(myenv)[root@VM-24-10-centos ~]# conda  list
# packages in environment at /root/miniconda/envs/myenv:
#
Could not extract name and version from: 'Package    Version'
Could not extract name and version from: '---------- ---------'
Could not extract name and version from: 'certifi    2016.2.28'
Could not extract name and version from: 'pip        21.3.1'
Could not extract name and version from: 'selenium   3.141.0'
Could not extract name and version from: 'setuptools 36.4.0'
Could not extract name and version from: 'urllib3    1.26.12'
Could not extract name and version from: 'wheel      0.29.0'
certifi                   2016.2.28                py36_0    defaults
openssl                   1.0.2l                        0    defaults
pip                       9.0.1                    py36_1    defaults
python                    3.6.2                         0    defaults
readline                  6.2                           2    <unknown>
setuptools                36.4.0                   py36_1    defaults
sqlite                    3.13.0                        0    defaults
tk                        8.5.18                        0    defaults
wheel                     0.29.0                   py36_0    defaults
xz                        5.2.3                         0    defaults
zlib                      1.2.11                        0    defaults

【参考】
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安装及其使用

posted @ 2022-08-17 23:37  nuccch  阅读(4550)  评论(0编辑  收藏  举报