Does anybody knows how I can remove (venv) prefix that is displayed in my Powershell Terminal window? I know that this is purely cosmetic, but I'd love to remove it since I'm using Oh My Posh.
How to remove environment prefix in Powershell console
1.3k views Asked by MrTeatime AtThere are 4 answers
On
This looks like the python environment set by conda, which modifies your prompt function when being initialized.
Search for all the possible powershell profiles in your host:
$PROFILE | Format-List -Force
Then look for the part where it says #region conda initialize and modify it.
Alternatively you can search for the ps1 file that does this, for me it's C:\Users\Username\Miniconda3\shell\condabin\conda-hook.ps1 but ymmv.
I also use oh-my-posh, and display the environment on the right:
{
"foreground": "lightRed",
"properties": {
"display_mode": "always",
"display_version": false,
"display_virtual_env": true,
"prefix":"",
"postfix": "\uE235 "
},
"type": "python",
"style": "plain"
}
On
Go to the "C:\Program Files\Python310\Lib\venv\scripts\common" (your Python installation folder might be different)
- Find a file "Activate.ps1".
- Open the file with any editor of your choice.
- Find the line with following code (approximately line 232)
function global:prompt {
Write-Host -NoNewline -ForegroundColor Green "($_PYTHON_VENV_PROMPT_PREFIX) "
_OLD_VIRTUAL_PROMPT
}
Remove this variable with brackets **($_PYTHON_VENV_PROMPT_PREFIX) ** you can leave only double quotes.
After that your the function should look like this.
function global:prompt {
Write-Host -NoNewline -ForegroundColor Green ""
_OLD_VIRTUAL_PROMPT
}
- At last, recreate the environment.

I've found the best solution (for my case at least).
Simply add:
$env:VIRTUAL_ENV_DISABLE_PROMPT = 1to $PROFILE