Miniconda是Anaconda的簡化版, 可以管理多個Python版本的環境. 實際使用的話, 占用的空間不會很小, 我跑一些正常的應用後, 安裝目錄占用空間4.3GB, 安裝建議要預留10到20G的空間. 安裝 Miniconda 下載安裝包 https://docs.anaconda.co ...
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