Commit d64ee1a5 authored by Brett Cannon's avatar Brett Cannon Committed by Miss Islington (bot)

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.
parent db1a80e9
......@@ -136,6 +136,13 @@ pathlib
contain characters unrepresentable at the OS level.
(Contributed by Serhiy Storchaka in :issue:`33721`.)
venv
----
* :mod:`venv` now includes an ``Activate.ps1`` script on all platforms for
activating virtual environments under PowerShell Core 6.1.
(Contributed by Brett Cannon in :issue:`32718`.)
Optimizations
=============
......@@ -321,7 +328,7 @@ CPython bytecode changes
* The interpreter loop has been simplified by moving the logic of unrolling
the stack of blocks into the compiler. The compiler emits now explicit
instructions for adjusting the stack of values and calling the cleaning
instructions for adjusting the stack of values and calling the cleaning-
up code for :keyword:`break`, :keyword:`continue` and :keyword:`return`.
Removed opcodes :opcode:`BREAK_LOOP`, :opcode:`CONTINUE_LOOP`,
......
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
The Activate.ps1 script from venv works with PowerShell Core 6.1 and is now
available under all operating systems.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment