Miniconda是Anaconda的简化版, 可以管理多个Python版本的环境. 实际使用的话, 占用的空间不会很小, 我跑一些正常的应用后, 安装目录占用空间4.3GB, 安装建议要预留10到20G的空间.
安装 Miniconda
下载安装包
在里面下载适合自己操作系统的安装包, 对于X64的Ubuntu, 下载的是 Miniconda3-latest-Linux-x86_64.sh
chmod后执行
chmod +x Miniconda3-latest-Linux-x86_64.sh
./Miniconda3-latest-Linux-x86_64.sh
或者直接用bash执行
bash Miniconda3-latest-Linux-x86_64.sh
中间会有一些提示, 按提示安装. 最后一步要启动自动设置环境, 选no
启用conda环境
启动 conda 环境时需要用下面的命令
eval "$(/install-path/bin/conda shell.YOUR_SHELL_NAME hook)"
我的环境时bash, 命令就是
eval "$(/home/milton/miniconda3/bin/conda shell.bash hook)"
启用后console的提示符前面会增加(base)
, 可以用conda --verion
验证一下是否生效
(base) milton@somewhere:~$ conda --version
conda 23.11.0
用info查看环境信息
(base) milton@somewhere:~$ conda info
active environment : base
active env location : /home/milton/miniconda3
shell level : 1
user config file : /home/milton/.condarc
populated config files :
conda version : 23.11.0
conda-build version : not installed
python version : 3.11.5.final.0
solver : libmamba (default)
virtual packages : __archspec=1=haswell
__conda=23.11.0=0
__glibc=2.35=0
__linux=6.5.0=0
__unix=0=0
base environment : /home/milton/miniconda3 (writable)
conda av data dir : /home/milton/miniconda3/etc/conda
conda av metadata url : None
channel URLs : https://repo.anaconda.com/pkgs/main/linux-64
https://repo.anaconda.com/pkgs/main/noarch
https://repo.anaconda.com/pkgs/r/linux-64
https://repo.anaconda.com/pkgs/r/noarch
package cache : /home/milton/miniconda3/pkgs
/home/milton/.conda/pkgs
envs directories : /home/milton/miniconda3/envs
/home/milton/.conda/envs
platform : linux-64
user-agent : conda/23.11.0 requests/2.31.0 CPython/3.11.5 Linux/6.5.0-15-generic ubuntu/22.04.3 glibc/2.35 solver/libmamba conda-libmamba-solver/23.12.0 libmambapy/1.5.3
UID:GID : 1000:1000
netrc file : None
offline mode : False
关于这个eval和hook的说明
eval "$(shell-command)"
will runshell-command
and feed its output to the shell as a command to execute.
A hook in this context is a mechanism to attach custom actions to some event processed by a software.
so$CONDA_PATH/bin/conda shell.bash hook
will probably generate abash
command line which, when executed, will connect Anaconda into the runningbash
process, andeval "$($CONDA_PATH/bin/conda shell.bash hook)"
will take care of executing that command. Try running$CONDA_PATH/bin/conda shell.bash hook
directly from a shell prompt to see what it is producing, in order to better understand what is going on.
直接运行这个会打印出eval将会执行的脚本
/home/milton/miniconda3/bin/conda shell.bash hook
关于 conda 环境的启用和关闭
启用conda环境实际上涉及到两部分, 一个是将conda加入环境变量, 另一个是启用conda的虚拟python环境,
前者在执行eval后就一直有效, 直到你退出当前的命令行, 查看 $PATH 可以看到加入了两个目录 miniconda3/bin 和 miniconda3/condabin
$ echo $PATH
/home/milton/miniconda3/bin:/home/milton/miniconda3/condabin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
后者可以用 activate 和 deactivate 来启用和关闭
# 关闭
(base) milton@somewhere:~$ conda deactivate
# 关闭后 (base) 消失, 但是 conda 命令还是可用的
milton@somewhere:~$ conda --version
conda 23.11.0
# 再次启用, 可以看到 (base) 又出现了
milton@somewhere:~$ conda activate
(base) milton@somewhere:~$
在 conda 环境下, 用的 python 版本是独立的, 和系统的 python 版本不一样
milton@somewhere:~$ python3 --version
Python 3.10.12
milton@somewhere:~$ conda activate
(base) milton@somewhere:~$ python3 --version
Python 3.11.5
conda环境管理
查看环境列表
这三个命令是一样的, 当前环境会用星号标识
conda info -e
conda info --envs
conda env list
创建环境
先deactivate关闭当前环境, 然后执行
conda create --name [env_name] python=[version]
# 或者
conda create -n [env_name] python=[version]
# 例如
conda create --name test3.6 python=3.6
会计算依赖然后提示需要下载按照的包列表, 安装结束后会提示启用命令
conda activate test3.6
# To deactivate an active environment, use
conda deactivate
启用后查看对应的python版本就变成了3.6
conda activate test3.6
(test3.6) milton@somewhere:~$ python --version
Python 3.6.13 :: Anaconda, Inc.
删除环境
conda env remove -n test3.6
conda remove -n test3.6 --all
conda 管理
升级
conda update --all