conda 22.9.0版本下,如何配置activate/deactivate后的$PS1提示符?
Conda 22.9.0 激活环境后自定义提示符配置
解决步骤
方法一:禁用conda默认提示符修改+自定义shell函数(推荐)
- 关闭conda自动修改提示符的功能:
conda config --set changeps1 false
- 编辑你的shell配置文件(bash用户编辑
~/.bashrc,zsh用户编辑~/.zshrc),添加以下代码:
# 自定义conda环境提示符逻辑 conda_prompt() { if [ -n "$CONDA_PREFIX" ]; then # 激活环境时使用指定格式 export PS1="($(basename "$CONDA_PREFIX"))[\u@\h \W]\\$ " else # 未激活环境时的默认提示符,可按需调整 export PS1="[\u@\h \W]\\$ " fi } # 重写conda activate命令,执行后更新提示符 conda activate() { \conda activate "$@" conda_prompt } # 重写conda deactivate命令,执行后更新提示符 conda deactivate() { \conda deactivate "$@" conda_prompt } # 终端启动时初始化提示符 conda_prompt
- 保存文件后,重新加载配置文件生效:
# bash用户 source ~/.bashrc # zsh用户 source ~/.zshrc
方法二:修改conda的shell钩子脚本(不推荐)
直接修改conda安装目录下的shell钩子文件(比如$CONDA_PREFIX/etc/conda/activate.d/和deactivate.d/下的脚本),添加设置PS1的命令,但这种方式会在conda更新时被覆盖,不建议使用。
内容的提问来源于stack exchange,提问作者Seb
相关产品推荐
相关产品推荐

