如何在 IPython 控制台中显示 conda 环境名称?

How can I show the conda environment name in the IPython console?

上下文

我想在 Spyder 的 IPython 控制台中显示 conda 环境名称,这样我就知道我运行正在进入哪个环境。
虽然此信息在状态栏中可用,但有时它只显示 conda 而不是实际的环境名称:

我试过的

启动时打印

Spyder 允许在控制台开始时使用 运行 代码。但是,打印语句似乎被抑制了,因为我添加了 import sys; print(sys.executable):

不幸的是,当我创建一个新控制台时,没有显示任何内容(除了默认横幅)。

更改输入提示

Spyder allows one to customize the input/output prompts 在控制台中。但是,我不知道如何让它评估代码而不是将其写为文本:

问题

如何在 Spyder 的 IPython 控制台中显示活动的 conda 环境的名称?

查看 relevant issue (this comment in particular) 的建议给我带来了以下解决方案:

import sys; 
env_path = sys.executable
start_env = env_path.rfind('\', 0, len(env_path) - 12) 
end_env = env_path.rfind('\')
env_name = env_path[start_env+1:end_env]
get_ipython().banner1=f"\nCurrent conda environment: {env_name}"

通过将以上内容保存在文件中并将其设置为 Spyder 设置中的 python 启动文件:

我现在收到一条很好的消息,告知我所使用的 conda 环境: