Anaconda 环境 bash 前缀太长
Anaconda environment bash prefix too long
我在使用 -p 选项指定路径的项目文件夹中创建了一个 anaconda 环境,即不在默认 anaconda3/envs 文件夹中:
conda create -p venv
问题是,当我激活该环境时,终端中的 bash 前缀太长,即它在提示符前加上环境的整个路径:
(/path/to/the/environment/venv) user@machine: ~/path/to/environment/$
有没有办法解决这个问题,意思是缩短它或从提示中删除前缀?
我的$PS1:
\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\[3[01;32m\]\u@\h\[3[00m\]:\[3[01;34m\]\w\[3[00m\]$
Conda 提示自定义
自 Conda v4.6.0 以来,已经有 env_prompt
配置选项来提供对 PS1 更改的自定义。这是描述:
$ conda config --describe env_prompt
# # env_prompt (str)
# # Template for prompt modification based on the active environment.
# # Currently supported template variables are '{prefix}', '{name}', and
# # '{default_env}'. '{prefix}' is the absolute path to the active
# # environment. '{name}' is the basename of the active environment
# # prefix. '{default_env}' holds the value of '{name}' if the active
# # environment is a conda named environment ('-n' flag), or otherwise
# # holds the value of '{prefix}'. Templating uses python's str.format()
# # method.
# #
# env_prompt: '({default_env}) '
一个对您的案例有帮助的选择是只使用 {name}
变量
conda config --set env_prompt '({name}) '
这将只显示 env 的文件夹名称。例如,您的示例是
(venv) user@machine: ~/path/to/environment/$
注意,这将使 base env 处于活动状态时,提示将显示 (anaconda3)
而不是 (base)
;否则,其他命名的环境应该照常出现。
如果你真的受不了,你可以 运行 basename {default_env}
在未命名的环境中获得与 {name}
相同的结果,并且仍然保留 base
。也就是说,
conda config --set env_prompt '($(basename {default_env})) '
我在使用 -p 选项指定路径的项目文件夹中创建了一个 anaconda 环境,即不在默认 anaconda3/envs 文件夹中:
conda create -p venv
问题是,当我激活该环境时,终端中的 bash 前缀太长,即它在提示符前加上环境的整个路径:
(/path/to/the/environment/venv) user@machine: ~/path/to/environment/$
有没有办法解决这个问题,意思是缩短它或从提示中删除前缀?
我的$PS1:
\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\[3[01;32m\]\u@\h\[3[00m\]:\[3[01;34m\]\w\[3[00m\]$
Conda 提示自定义
自 Conda v4.6.0 以来,已经有 env_prompt
配置选项来提供对 PS1 更改的自定义。这是描述:
$ conda config --describe env_prompt
# # env_prompt (str)
# # Template for prompt modification based on the active environment.
# # Currently supported template variables are '{prefix}', '{name}', and
# # '{default_env}'. '{prefix}' is the absolute path to the active
# # environment. '{name}' is the basename of the active environment
# # prefix. '{default_env}' holds the value of '{name}' if the active
# # environment is a conda named environment ('-n' flag), or otherwise
# # holds the value of '{prefix}'. Templating uses python's str.format()
# # method.
# #
# env_prompt: '({default_env}) '
一个对您的案例有帮助的选择是只使用 {name}
变量
conda config --set env_prompt '({name}) '
这将只显示 env 的文件夹名称。例如,您的示例是
(venv) user@machine: ~/path/to/environment/$
注意,这将使 base env 处于活动状态时,提示将显示 (anaconda3)
而不是 (base)
;否则,其他命名的环境应该照常出现。
如果你真的受不了,你可以 运行 basename {default_env}
在未命名的环境中获得与 {name}
相同的结果,并且仍然保留 base
。也就是说,
conda config --set env_prompt '($(basename {default_env})) '