安裝Anaconda給大家用(Multi-user Anaconda installation)
Ubuntu的使用者user01自己安裝anaconda的話,它會裝到/home/user01/anaconda3去。但是我們也想讓裡面其他帳號的使用者都能用,怎麼做呢?我們的想法是建立一個叫做anaconda的群組,然後讓所有被加進這個群組的使用者們(user01, user02, user03, etc.) 都能在這台Linux上使用anaconda。
因為我們剛剛已經裝了一個只能給使用這自己用的anaconda,我們先解除使用者裝給自己的那個anaconda還有裡面不要的canda環境:
- 刪除/home/user01/anaconda
rm -rf ~/anaconda - 移除使用者 .bashrc 與 ~/.conda/environments.txt 裡面的相關的環境設定
取得Anaconda
到https://www.anaconda.com下載Anaconda installer for Linux (我們裝的是64bit x86版本),下載來的是 Anaconda3-2024.02-1-Linux-x86_64.sh
安裝anaconda3
sudo sh Anaconda3-2024.02-1-Linux-x86_64.sh
指定安裝路徑:/opt/anaconda3
裝好之後,我們用groupadd指令,創立一個新的群組,名稱就叫做anaconda好了:
sudo groupadd anaconda
把/opt/anaconda包含裡面的東西都開放給anaconda群組使用:
sudo chgrp -R anaconda /opt/anaconda3
chmod 770 -R /opt/anaconda3
用adduser指令把使用者加進anaconda這個群組來:
sudo adduser user01 anaconda
sudo adduser user02 anaconda
…
備註:使用者可以同時隸屬於好幾個不同的群組,groupadd可以創立新群組,groupdel可以刪除群組。如果你要把使用者user03趕出anaconda群組,用deluser:
sudo deluser user03 anaconda
最後,使用者必須各自修改他的環境設定,才能用這個裝在opt底下的anaconda。
首先用source指令把activate這個script裡面設置Anaconda用的環境變數設置到使用者現在的shell
然後打conda init來初始化conda環境,它的用處是修改使用者的shell配置文件(這裡是.bashrc),以便每次啟動shell時都自動初始化conda:
source /opt/anaconda3/bin/activate
conda init
這會修改使用者自己的~/.bashrc 在裡面增加這樣的內容:
# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/opt/anaconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
eval "$__conda_setup"
else
if [ -f "/opt/anaconda3/etc/profile.d/conda.sh" ]; then
. "/opt/anaconda3/etc/profile.d/conda.sh"
else
export PATH="/opt/anaconda3/bin:$PATH"
fi
fi
unset __conda_setup
使用者必須登出再登入,以上一些設定才會生效喔!