Lib/venv/scripts/nt/Activate.ps1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
function global:deactivate ([switch]$NonDestructive) { # Revert to original values if (Test-Path function:_OLD_VIRTUAL_PROMPT) { copy-item function:_OLD_VIRTUAL_PROMPT function:prompt remove-item function:_OLD_VIRTUAL_PROMPT } if (Test-Path env:_OLD_VIRTUAL_PYTHONHOME) { copy-item env:_OLD_VIRTUAL_PYTHONHOME env:PYTHONHOME remove-item env:_OLD_VIRTUAL_PYTHONHOME } if (Test-Path env:_OLD_VIRTUAL_PATH) { copy-item env:_OLD_VIRTUAL_PATH env:PATH remove-item env:_OLD_VIRTUAL_PATH } if (Test-Path env:VIRTUAL_ENV) { remove-item env:VIRTUAL_ENV } if (!$NonDestructive) { # Self destruct! remove-item function:deactivate } } deactivate -nondestructive $env:VIRTUAL_ENV="__VENV_DIR__" if (! $env:VIRTUAL_ENV_DISABLE_PROMPT) { # Set the prompt to include the env name # Make sure _OLD_VIRTUAL_PROMPT is global function global:_OLD_VIRTUAL_PROMPT {""} copy-item function:prompt function:_OLD_VIRTUAL_PROMPT function global:prompt { Write-Host -NoNewline -ForegroundColor Green '__VENV_PROMPT__' _OLD_VIRTUAL_PROMPT } } # Clear PYTHONHOME if (Test-Path env:PYTHONHOME) { copy-item env:PYTHONHOME env:_OLD_VIRTUAL_PYTHONHOME remove-item env:PYTHONHOME } # Add the venv to the PATH copy-item env:PATH env:_OLD_VIRTUAL_PATH $env:PATH = "$env:VIRTUAL_ENV\__VENV_BIN_NAME__;$env:PATH" |