CondaError: Run ‘conda init‘ before ‘conda activate‘

问题:

conda activate python310

CondaError: Run 'conda init' before 'conda activate'

conda init bash

no change /root/miniconda3/condabin/conda

no change /root/miniconda3/bin/conda

no change /root/miniconda3/bin/conda-env

no change /root/miniconda3/bin/activate

no change /root/miniconda3/bin/deactivate

no change /root/miniconda3/etc/profile.d/conda.sh

no change /root/miniconda3/etc/fish/conf.d/conda.fish

no change /root/miniconda3/shell/condabin/Conda.psm1

no change /root/miniconda3/shell/condabin/conda-hook.ps1

no change /root/miniconda3/lib/python3.13/site-packages/xontrib/conda.xsh

no change /root/miniconda3/etc/profile.d/conda.csh

no change /root/.bashrc

解决办法:

vi ~/.bashrc

修改代码,如下:

bash 复制代码
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
# for examples

# If not running interactively, don't do anything (核心判断,避免非交互模式执行冗余配置)
[ -z "$PS1" ] && return

# ------------------------------
# 1. 历史命令配置(优化重复命令过滤)
# ------------------------------
# 不记录重复命令、以空格开头的命令(避免敏感命令泄露)
HISTCONTROL=ignoredups:ignorespace:ignoreboth
# 历史命令追加到文件(不覆盖)
shopt -s histappend
# 历史命令长度配置(增大默认值,保留更多历史)
HISTSIZE=10000  # 内存中保留的历史命令数
HISTFILESIZE=20000  # 历史文件中保留的命令数
# 记录命令执行时间(便于追溯)
HISTTIMEFORMAT="%Y-%m-%d %H:%M:%S "
# 禁止历史命令展开时的音效(避免终端杂音)
set bell-style none

# ------------------------------
# 2. 终端基础配置(优化窗口与显示)
# ------------------------------
# 每次命令后检查窗口大小,自动更新 LINES/COLUMNS
shopt -s checkwinsize
# 启用 glob 通配符扩展(支持更灵活的文件匹配,如 *.txt、a{b,c}d)
shopt -s extglob
# 修复 cd 命令的路径补全(如 cd ../.. 可简化为 cd ....)
shopt -s autocd
# 允许文件名包含特殊字符(如空格、中文)的正确处理
LC_ALL=en_US.UTF-8  # 统一字符编码,避免中文乱码
LANG=en_US.UTF-8

# 使 less 命令支持非文本文件(如压缩包、图片)的预览
if [ -x /usr/bin/lesspipe ]; then
    eval "$(SHELL=/bin/sh lesspipe)"
fi

# ------------------------------
# 3. 终端提示符配置(美化与实用信息)
# ------------------------------
# 识别 chroot 环境(若在容器/虚拟环境中,提示符会显示标识)
if [ -z "$debian_chroot" ] && [ -r /etc/debian_chroot ]; then
    debian_chroot=$(cat /etc/debian_chroot)
fi

# 自动检测终端是否支持颜色,优先启用彩色提示符
color_prompt=no
if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then
    # 终端支持颜色(Ecma-48 标准)
    color_prompt=yes
fi

# 彩色提示符配置(区分用户/主机/路径,Conda 环境会自动追加)
if [ "$color_prompt" = yes ]; then
    # 格式:[chroot]用户@主机:路径$ (root 用户提示符为 #,普通用户为 $)
    if [ "$EUID" -eq 0 ]; then
        # root 用户(红色提示符,警示权限)
        PS1='${debian_chroot:+($debian_chroot)}\[\033[01;31m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\# '
    else
        # 普通用户(绿色提示符,正常标识)
        PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
    fi
else
    # 无颜色 fallback
    PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi
unset color_prompt

# Xterm/Rxvt 终端:设置窗口标题为"用户@主机:路径"(便于多窗口区分)
case "$TERM" in
xterm*|rxvt*|konsole*|gnome-terminal*)
    PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
    ;;
*)
    ;;
esac

# ------------------------------
# 4. 文件操作别名(简化常用命令)
# ------------------------------
# 启用 ls 颜色支持(区分文件类型:目录蓝色、可执行绿色等)
if [ -x /usr/bin/dircolors ]; then
    # 优先使用用户自定义的颜色配置,无则用默认
    test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
    # ls 系列别名(带颜色、显示详细信息)
    alias ls='ls --color=auto --time-style=long-iso'  # 显示 ISO 格式时间
    alias ll='ls -alF'  # 显示所有文件(含隐藏)、详细信息、末尾加类型标识(/ 表目录)
    alias la='ls -A'    # 显示所有文件(含隐藏,不含 . 和 ..)
    alias l='ls -CF'    # 按列显示、加类型标识
fi

# 其他实用别名(避免手滑删除、简化操作)
alias rm='rm -i'          # 删除前确认(避免误删)
alias cp='cp -i'          # 覆盖前确认
alias mv='mv -i'          # 移动/重命名前确认
alias grep='grep --color=auto'  # grep 结果高亮匹配内容
alias fgrep='fgrep --color=auto'
alias egrep='egrep --color=auto'
alias vi='vim'            # 用 vim 替代默认 vi(功能更全)
alias update='apt update && apt upgrade -y'  # 一键更新系统(Debian/Ubuntu 适用)

# ------------------------------
# 5. 自定义别名加载(分离配置,便于维护)
# ------------------------------
# 若存在 ~/.bash_aliases,加载用户自定义别名(避免主文件过于臃肿)
if [ -f ~/.bash_aliases ]; then
    . ~/.bash_aliases
fi

# ------------------------------
# 6. 命令补全配置(增强终端交互)
# ------------------------------
# 启用可编程命令补全(支持命令、参数、文件名补全)
if [ -f /etc/bash_completion ] && ! shopt -oq posix; then
    . /etc/bash_completion
fi

# ------------------------------
# 7. Conda 初始化(修复激活问题,自动加载环境)
# ------------------------------
# 原注释的手动激活命令已无用,替换为自动激活逻辑
# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/root/miniconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
    eval "$__conda_setup"  # 执行 Conda 钩子,启用 conda 命令
else
    #  fallback:手动添加 Conda 路径(避免钩子执行失败)
    if [ -f "/root/miniconda3/etc/profile.d/conda.sh" ]; then
        . "/root/miniconda3/etc/profile.d/conda.sh"
    else
        export PATH="/root/miniconda3/bin:$PATH"  # 将 Conda 加入系统路径
    fi
fi
unset __conda_setup
# <<< conda initialize <<<

# 自动激活 python310 环境(避免每次手动激活,可根据需求注释)
if conda info --envs | grep -q "python310"; then
    # 仅在环境存在时激活(避免报错)
    conda activate python310
else
    echo "Warning: Conda environment 'python310' not found. Skipping auto-activation."
fi

source ~/.bashrc

/usr/bin/sh: 29: source: not found

#bash

自动进入虚拟环境,成功!

相关推荐
databook5 小时前
Manim实现闪光轨迹特效
后端·python·动效
Juchecar6 小时前
解惑:NumPy 中 ndarray.ndim 到底是什么?
python
用户8356290780516 小时前
Python 删除 Excel 工作表中的空白行列
后端·python
Json_6 小时前
使用python-fastApi框架开发一个学校宿舍管理系统-前后端分离项目
后端·python·fastapi
数据智能老司机13 小时前
精通 Python 设计模式——分布式系统模式
python·设计模式·架构
数据智能老司机14 小时前
精通 Python 设计模式——并发与异步模式
python·设计模式·编程语言
数据智能老司机14 小时前
精通 Python 设计模式——测试模式
python·设计模式·架构
数据智能老司机14 小时前
精通 Python 设计模式——性能模式
python·设计模式·架构
c8i14 小时前
drf初步梳理
python·django
每日AI新事件14 小时前
python的异步函数
python