Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Dúvida] Duvida na ativação do ambiente virtual

Criando o ambiente virtual pelo Terminal

python -m venv venv

Ativar o ambiente virtual no diretório do arquivo (li que não precisa tutilizar o .bat)

venv\Scripts\activate

Desativar o ambiente virtual no diretório do arquivo

deactivate

Instalação do requests

pip install requests

Visualizar pacotes instalados

freeze

Criação de arquivo txt

pip freeze > requirements.txt

Quando utililizei o venv\Scripts\activate.bat não funcionou:

PS C:\Users\wilgo\Documents\PYTHON\Projetos_Python\POO_Alura\livro> venv\Scripts\activate.bat
PS C:\Users\wilgo\Documents\PYTHON\Projetos_Python\POO_Alura\livro> 

Mas sem o .bt deu certo:

PS C:\Users\wilgo\Documents\PYTHON\Projetos_Python\POO_Alura\livro> venv\Scripts\activate
(venv) PS C:\Users\wilgo\Documents\PYTHON\Projetos_Python\POO_Alura\livro>

Qual o motivo?

2 respostas
solução!

Boa tarde Estudante! Tudo bem com você?

No Windows, quando criamos um ambiente virtual com python -m venv venv, ele gera vários scripts de ativação para diferentes shells. Os principais são:

  • activate.bat - para o Command Prompt (cmd.exe)
  • Activate.ps1 - para o PowerShell
  • activate - para shells Unix (como Bash, usado no Git Bash ou WSL)

Creio que você esteja acompanhando as aulas e fazendo o uso do VsCode, por padrão o terminal aberto dentro do VsCode é o PowerShell. No PowerShell, o script correto para ativar o ambiente virtual é venv\Scripts\Activate.ps1. No entanto, o comando venv\Scripts\activate também funciona porque o PowerShell é capaz de interpretar scripts Unix em alguns casos.

Então, o motivo pelo qual venv\Scripts\activate.bat não funcionou é que ele é específico para o Command Prompt (cmd.exe), e não para o PowerShell.

Para ativar o ambiente virtual no PowerShell, você pode usar:

venv\Scripts\Activate.ps1

Ou, como você já descobriu, simplesmente:

venv\Scripts\activate

Vale ressaltar que na aula a instrutora está utilizando o terminal Command Prompt (CMD) aberto no VsCode, por isso o comando venv\Scripts\activate.bat funciona pois ele é específico para este terminal.

Espero ter ajudado. Conte com o apoio do Fórum na sua jornada. Fico à disposição. Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

Sua explicação foi muito esclarecedora. Muito obrigado.