如何在 Powershell 控制台中删除环境前缀

How to remove environment prefix in Powershell console

有人知道如何删除 Powershell 终端 window 中显示的 (venv) 前缀吗?我知道这纯粹是装饰性的,但我很乐意将其移除,因为我正在使用 Oh My Posh。

我附上了屏幕截图。

您的 $profile 中有一个 prompt 函数(默认情况下不是,但如果您有自定义提示,则可以)。您必须修改它以删除在您的提示中写入 (venv) 的代码。

这个好像是conda设置的python环境,在初始化的时候修改了你的提示函数

在您的主机中搜索所有可能的 powershell 配置文件: $PROFILE | Format-List -Force

然后找到#region conda initialize的部分修改

或者您可以搜索执行此操作的 ps1 文件,对我来说它是 C:\Users\Username\Miniconda3\shell\condabin\conda-hook.ps1 但 ymmv.

我也用oh-my-posh,右边显示环境:

     {
       "foreground": "lightRed",
       "properties": {
         "display_mode": "always",
         "display_version": false,
         "display_virtual_env": true,
         "prefix":"",
         "postfix": "\uE235 "
       },
       "type": "python",
       "style": "plain"
     }

转到“C:\Program Files\Python310\Lib\venv\scripts\common”(您的 Python 安装文件夹可能不同)

  • 查找文件“Activate.ps1”。
  • 使用您选择的任何编辑器打开文件。
  • 找到包含以下代码的行(大约第 232 行)
function global:prompt {
    Write-Host -NoNewline -ForegroundColor Green "($_PYTHON_VENV_PROMPT_PREFIX) "
    _OLD_VIRTUAL_PROMPT
}
  • 去掉这个带括号的变量**($_PYTHON_VENV_PROMPT_PREFIX) **你只能留下双引号。

  • 之后你的函数应该是这样的。

function global:prompt {
    Write-Host -NoNewline -ForegroundColor Green ""
    _OLD_VIRTUAL_PROMPT
}
  • 最后,重新创建环境。