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

[Duvida] Não consigo replicar os comandos como na aula

Boa noite.

Usando o terminal não consegui no powershell (se alguém souber o pq agradeço) mas consegui rodar no prompt (cmd):

Mas após conseguir ativar o venv, para desativar não consigo apenas com o comando deactivate. Eu tenho que digitar todo o caminho venv\Scripts\deactivate.bat. Alguém sabe o por quê?

4 respostas

Oii Caio, tudo bem?

O comando deactivate deveria funcionar diretamente no PowerShell, assim como no CMD, mas às vezes, mas o PowerShell pode ter algumas peculiaridades.

  1. Verifique a execução de scripts no powerShell: O PowerShell pode ter restrições quanto à execução de scripts. Tente verificar a política de execução com o comando:

    Get-ExecutionPolicy
    

    Se estiver configurado como Restricted, você pode mudar temporariamente para RemoteSigned ou Unrestricted, clique na opção "Executar como administrador":

       Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Scope CurrentUser
    

    Depois, tente novamente o comando deactivate.

  2. Ativação do Ambiente Virtual: Certifique-se de que você ativou o ambiente virtual corretamente no PowerShell. O comando deve ser algo como:

    .\venv\Scripts\Activate
    
  3. Desativação do Ambiente Virtual: Se o comando deactivate ainda não funcionar, você pode continuar usando:

    
    

venv\Scripts\deactivate.bat

Às vezes, pode ser necessário fornecer o caminho completo, como você mencionou. Isso pode ser devido a como o PowerShell gerencia os caminhos e os scripts.

5. **Alternativa com CMD**:
Como você mencionou que funciona no CMD, uma alternativa rápida pode ser continuar usando o CMD para essas operações específicas, não tem problemas.

Um abraço e bons estudos.

Boa tarde Lorena, muito obrigado pela sua ajuda.

Nesse meio tempo surgiram alguns problemas que consegui contornar.

Mas eu queria me aprofundar no que diz respeito ao Terminal. Por quê ás vezes abre com o powershell e ás vezes com o Python: app? E se eu ligar o venv em cada um (cmd, powershell e Python:app) eu terei 3 ambientes virtuais diferentes?

Muito obrigado

solução!

Oii!

Vamos nos aprofundar nas suas dúvidas sobre o terminal e os ambientes virtuais no Windows.

Por que às vezes abre com o PowerShell e outras vezes com o Python: app?

Isso pode ocorrer devido a configurações e preferências da sua IDE ou do sistema operacional. Algumas razões disso acontecer:

  1. Configurações da IDE (como VS Code):

    • A sua IDE pode estar configurada para usar diferentes terminais por padrão. No VS Code, por exemplo, você pode escolher entre o PowerShell, CMD e outros terminais.
    • Dependendo de como você abre o terminal (por exemplo, clicando em diferentes opções ou atalhos), a IDE pode abrir um terminal diferente.
  2. Configurações do sistema:

    • O Windows pode tá configurado para abrir um tipo de terminal específico como padrão ao executar certos scripts ou programas.

Ambientes Virtuais em Diferentes Terminais

Quando você ativa o ambiente virtual (venv) em diferentes terminais, você está apenas configurando o terminal para usar o mesmo ambiente virtual, não criando ambientes virtuais diferentes.

  1. Mesmo ambiente virtual:
    • Quando você ativa o venv em CMD, PowerShell ou no terminal da sua IDE, todos eles estão apontando para o mesmo conjunto de pacotes e o mesmo interpretador Python dentro da pasta venv.

Espero que isso tenha esclarecido suas dúvidas!

Um abraço e bons estudos.

Lorena, ainda estou na fase de tentativa e erro mas muito obrigado pela elucidação.

Mas podemos mais essas ultimas duvidas? :')

  • Eu consigo fazer a troca do Interpretador (que inclusive é sugerida pelo VS Code) pela interface do programa. Como eu consigo fazer isso por prompt de comando?

  • Por quê eu só consigo ver algo com o 'pip freeze' quando estou com o VENV desligado?