ubuntu安装anaconda位置
conda 默认的虚拟环境存储在 home 目录下,但 home 目录预先分配的内存有限
du -ah ~ | sort -rh | head -20
之前已经移动过安装其他环境的位置-参考博客1、参考博客2、参考博客3
Conda base 环境安装在 /home/ros/Downloads/yes
,而其他环境 (psmnet 和 yolov8) 在 /mnt/.conda/envs/
,说明 base 环境占用了 Home 目录的大量空间
conda env list
移动 Anaconda 到 /mnt 释放 Home 目录空间
查看anaconda安装目录位置
which conda
conda info
移动 Anaconda 目录到更大存储空间
sudo mv /home/ros/Downloads/yes /mnt/anaconda3
修改 ~/.bashrc
gedit ~/.bashrc
找到以下 Conda 相关代码
__conda_setup="$('/home/ros/Downloads/yes/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
eval "$__conda_setup"
else
if [ -f "/home/ros/Downloads/yes/etc/profile.d/conda.sh" ]; then
. "/home/ros/Downloads/yes/etc/profile.d/conda.sh"
else
export PATH="/home/ros/Downloads/yes/bin:$PATH"
fi
fi
unset __conda_setup
修改 /home/ros/Downloads/yes
为 /mnt/anaconda3
:
# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/mnt/anaconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
eval "$__conda_setup"
else
if [ -f "/mnt/anaconda3/etc/profile.d/conda.sh" ];
then
. "/mnt/anaconda3/etc/profile.d/conda.sh"
else
export PATH="/mnt/anaconda3/bin:$PATH"
fi
fi
unset __conda_setup
# <<< conda initialize <<<
export PATH="/mnt/anaconda3/bin:$PATH"
保存并使更改生效
source ~/.bashrc
测试
conda activate base
大概率会提示bash: /home/ros/Downloads/yes/bin/conda: No such file or directory
which conda
conda info
也会是bash: /home/ros/Downloads/yes/bin/conda: No such file or directory
echo $PATH
$PATH
环境变量中仍然包含了旧的路径 /home/ros/Downloads/yes/condabin
关闭当前终端窗口,打开一个新的终端(这一步也可以在测试之前进行,不记得什么时候起作用了)
修改conda内的变量
gedit /mnt/anaconda3/bin/pip
gedit /mnt/anaconda3/bin/conda
gedit /mnt/anaconda3/bin/pip3
将第一行的对应路径进行修改
#!/mnt/anaconda3/bin/python
注意是你自己的路径
关闭当前终端窗口,重新激活虚拟环境测试
若还出现问题,输入以下命令
env | grep 'conda\|PATH'
结果显示CONDA_EXE
仍然指向旧的路径/home/ros/Downloads/yes/bin/conda
,而PATH
变量中还包含旧的/home/ros/Downloads/yes/condabin
此标题以下步骤不确定是否起作用了,忘了记录
- 强制清除残留的 CONDA_EXE
# 临时清除当前会话的变量(立即生效)
unset CONDA_EXE
# 永久修复:确保 Conda 初始化脚本指向新路径
echo 'export CONDA_EXE=/mnt/anaconda3/bin/conda' >> ~/.bashrc
- 直接清理 PATH
# 使用 sed 从所有配置文件中删除旧路径
sed -i '/\/home\/ros\/Downloads\/yes/d' ~/.bashrc ~/.profile ~/.bash_aliases /etc/environment 2>/dev/null
# 重新加载配置
source ~/.bashrc
再次关闭当前窗口,重新激活虚拟环境测试,大概是成功了
出现问题
Error while loading conda entry point: conda-content-trust (OpenSSL 3.0's legacy provider failed to load. This is a fatal error by default, but cryptography supports running without legacy algorithms by setting the environment variable CRYPTOGRAPHY_OPENSSL_NO_LEGACY. If you did not expect this error, you have likely made a mistake with your OpenSSL configuration.)
Error while loading conda entry point: anaconda-cloud-auth (PyO3 modules compiled for CPython 3.8 or older may only be initialized once per interpreter process)
echo 'export CRYPTOGRAPHY_OPENSSL_NO_LEGACY=1' >> ~/.bashrc
source ~/.bashrc
感觉像是掩耳盗铃的做法,先凑合用