Eu sei que para ativar o virtualenv é só usar o comando, .venv/Scripts/activate.ps1
mas eu queria saber se tem alguma forma de fazer o powershell fazer isso automaticamente?
Os existentes apenas falam sobre como ativá-lo, mas não como fazer o Powershell fazer isso automaticamente
Estou procurando algo assim, mas no Powershell
Adicione algo como o seguinte ao seu
$PROFILE
arquivo PowerShell:Observação:
Isso instala um manipulador de eventos que é executado sempre que o local atual (diretório) é alterado na sessão atual e executa um script localizado em
./.venv/Script/activate.ps1
relação ao novo diretório atual, se presente.& $script | Out-Host
Não há nenhuma tentativa de desativar um ambiente virtual previamente ativo ou de detectar se um subdiretório de um diretório que contém um ambiente virtual foi alterado, embora fazer essas coisas seja possível com esforço adicional.
Por meio do uso de
[Delegate]::Combine()
, o código preserva qualquer manipulador de eventos preexistente .{ ... }
) diretamente a$ExecutionContext.SessionState.InvokeCommand.LocationChangedAction
direnv
Os ganchos podem ser usados no PowerShell e, entre outras coisas, isso pode ser configurado para automatizar a ativação do venv na mudança de diretório.