summaryrefslogtreecommitdiffstats
path: root/Lib/venv
diff options
context:
space:
mode:
authorBrett Cannon <brettcannon@users.noreply.github.com>2018-09-21 22:27:26 (GMT)
committerMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>2018-09-21 22:27:26 (GMT)
commitd64ee1a5ba2007ae5fe085dd3495013d940a51bb (patch)
treecb0a2cb25675bbc938ed79d91670e5b07ba34640 /Lib/venv
parentdb1a80e97aa7217c561fb3627f70be1882de9534 (diff)
downloadcpython-d64ee1a5ba2007ae5fe085dd3495013d940a51bb.zip
cpython-d64ee1a5ba2007ae5fe085dd3495013d940a51bb.tar.gz
cpython-d64ee1a5ba2007ae5fe085dd3495013d940a51bb.tar.bz2
bpo-32718: Make Activate.ps1 for venv cross-platform and available on all platforms (GH-9321)
PowerShell Core 6.1 is the cross-platform port of Windows PowerShell. This change updates Activate.ps1 to not make Windows assumptions as well as installing it into the bin/Scripts directory on all operating systems. Requires PowerShell Core 6.1 for proper readline support once the shell has been activated for the virtual environment.
Diffstat (limited to 'Lib/venv')
-rw-r--r--Lib/venv/scripts/common/Activate.ps1 (renamed from Lib/venv/scripts/nt/Activate.ps1)7
1 files changed, 6 insertions, 1 deletions
diff --git a/Lib/venv/scripts/nt/Activate.ps1 b/Lib/venv/scripts/common/Activate.ps1
index bf60869..de22962 100644
--- a/Lib/venv/scripts/nt/Activate.ps1
+++ b/Lib/venv/scripts/common/Activate.ps1
@@ -1,3 +1,8 @@
+function Script:add-bin([string]$envPath) {
+ $binPath = Join-Path -Path $env:VIRTUAL_ENV -ChildPath '__VENV_BIN_NAME__'
+ return ($binPath, $envPath) -join [IO.Path]::PathSeparator
+}
+
function global:deactivate ([switch]$NonDestructive) {
# Revert to original values
if (Test-Path function:_OLD_VIRTUAL_PROMPT) {
@@ -48,4 +53,4 @@ if (Test-Path 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"
+$env:PATH = add-bin $env:PATH