【CONDA】库冲突解决办法

如今,使用PYTHON作为开发语言时,或多或少都会使用到conda。安装Annaconda时一般都会选择在启动终端时进入condabase环境。该操作,实际上是在~/.bashrc中添加如下脚本:

bash 复制代码
# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/home/u20/anaconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
    eval "$__conda_setup"
else
    if [ -f "/home/u20/anaconda3/etc/profile.d/conda.sh" ]; then
        . "/home/u20/anaconda3/etc/profile.d/conda.sh"
    else
        export PATH="/home/u20/anaconda3/bin:$PATH"
    fi
fi
unset __conda_setup
# <<< conda initialize <<<

该段代码被执行后,会在PATH环境变量中添加conda所在路径,即:

bash 复制代码
env
CONDA_EXE=/home/u20/anaconda3/bin/conda
PWD=/home/u20
GSETTINGS_SCHEMA_DIR=/home/u20/anaconda3/share/glib-2.0/schemas
CONDA_PREFIX=/home/u20/anaconda3
GSETTINGS_SCHEMA_DIR_CONDA_BACKUP=
...
PATH=/home/u20/anaconda3/bin:/home/u20/anaconda3/condabin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

因此,解决方法是:

  • 在遇到冲突时,屏蔽在安装时添加的脚本
  • 在正常使用时,恢复在安装时添加的脚本

打开~/.bashrc并在尾部添加如下内容:

bash 复制代码
# 用于开启与关闭CONDA,关闭后需要打开新的终端才能屏蔽CONDA
alias conda_on='f=~/.bashrc;lines=$(sed -n "/conda initialize/=" ${f});lines=${lines//[[:space:]]/,};lines=${lines%,*};lines=${lines%,*};sed -i "${lines}s/^#//g" ${f};source ${f}'
alias conda_ff='f=~/.bashrc;lines=$(sed -n "/conda initialize/=" ${f});lines=${lines//[[:space:]]/,};lines=${lines%,*};lines=${lines%,*};sed -i "${lines}s/^/#/g" ${f};source ${f}'

需要屏蔽conda导致的库冲突时,执行conda_ff命令。查看此时的~/.bashrc可以看到安装Annaconda时添加的脚本已被注释。

需要使用conda时,执行conda_on命令。查看此时的~/.bashrc可以看到安装Annaconda时添加的脚本已恢复。

注意:

关闭后需要打开新的终端才能屏蔽CONDA

相关推荐
独隅2 天前
Anaconda被误删后抢救手册
conda
矢志航天的阿洪2 天前
手动安装Gurobi并配置gurobipy到Python环境(Windows/Conda)
windows·python·conda
GL_Rain3 天前
conda通过environment.yml创建虚拟环境(指定路径)报错解决教程
conda
雕刻刀6 天前
linux中复制conda环境
linux·python·conda
乐园游梦记6 天前
在pycharm中添加Conda创建的openmmlab虚拟环境作为解释器
ide·pycharm·conda
贵沫末7 天前
Python——图像处理项目Conda环境搭建
开发语言·python·conda
佳xuan7 天前
wsl(linux)安装miniconda及虚拟环境
linux·人工智能·conda
Cyan_RA98 天前
如何利用 Paddle-OCR 丝滑进行复杂版面 PDF 的批量化OCR处理?
java·linux·python·ocr·conda·paddle·surya
Hello.Reader8 天前
Ubuntu 安装 Miniconda 完整从零开始把 Conda 环境搭起来
linux·ubuntu·conda
Techblog of HaoWANG9 天前
目标检测与跟踪(16)-- Ubuntu 20.04 下 ROS1 + Conda 虚拟环境开机自启动方案(兼容 ROS2 共存)
人工智能·目标检测·ubuntu·机器人·视觉检测·conda·控制