Python / Resolver “Acesso negado” ao instalar com pip no Windows
Quando o pip mostrar [WinError 5] Acesso negado no Windows, confira primeiro o caminho do arquivo e o Python usado. Se o destino for um site-packages global protegido, crie um ambiente virtual em uma pasta de projeto gravável e execute pip com seu Python. Arquivos em uso e locais temporários bloqueados exigem diagnóstico próprio; executar como administrador não resolve todas as causas.
Ler o caminho junto ao número do erro
O código Windows 5 significa acesso negado. Leia o último erro do pip para ver qual arquivo não pôde criar ou substituir. Um Python em Program Files exige verificações diferentes de uma pasta temporária.
| Destino que falhou | Verificação | Próxima ação |
|---|---|---|
| Lib\site-packages global | Python escolhido e permissão de escrita | Isolar a instalação no projeto |
| Executável Scripts ou pacote existente | Programas que o usam e registros de bloqueio | Fechar só o programa relacionado e tentar novamente |
| Temp, cache ou outra pasta | Permissões, espaço e política de segurança | Investigar o local e solicitar revisão quando necessário |
| Instalação funciona, mas import falha | Mesmo Python para instalar e executar | Comparar interpretador e Location do pacote |
A tabela fornece uma ordem de diagnóstico, não prova a causa apenas pelo caminho. Em computadores gerenciados, siga o ambiente aprovado. Não libere permissões de pastas do sistema de forma ampla nem desative proteções para contornar o erro.
Identificar qual Python executa pip
Execute os comandos no Windows PowerShell, não no prompt Python >>>. Se py -3 não estiver disponível, use o caminho do Python instalado ou um comando python que aponte para ele. Com várias versões, escolha explicitamente o interpretador.
py -3 -c "import sys; print(sys.executable)"
py -3 -m pip --version
A primeira linha mostra o executável; a segunda, versão e local do pip e versão do Python. python -m pip usa o Python escolhido e evita que um comando pip isolado aponte para outro ambiente. Compare com o interpretador que produziu o erro.
Instalar e verificar no ambiente do projeto
Abra o PowerShell em uma pasta de projeto nova e gravável. .venv é uma pasta de ambiente virtual separada do código. Não a crie sobre uma pasta já usada para outra finalidade.
py -3 -m venv .venv
.\.venv\Scripts\python.exe -m pip --version
Confira que o caminho do pip está dentro de .venv. Chamar seu Python diretamente evita scripts de ativação e mudanças na política do PowerShell. Este exemplo completo instala e importa Colorama 0.4.6; no projeto real, use as dependências e versões necessárias.
.\.venv\Scripts\python.exe -m pip install "colorama==0.4.6"
.\.venv\Scripts\python.exe -c "import colorama, sys; print(colorama.__version__); print(sys.prefix != sys.base_prefix)"
Após a instalação, o último comando mostra 0.4.6 e True em duas linhas. True indica ambiente virtual. O fluxo foi conferido no Windows com Python 3.12.14 e pip 25.0.1 do ambiente; detalhes do log e caminhos podem variar.
.\.venv\Scripts\python.exe -m pip show colorama
Em pip show, Location deve apontar para o .venv\Lib\site-packages do projeto. Mesmo que import funcione no terminal, a IDE pode escolher outro Python. Configure o mesmo .venv\Scripts\python.exe no projeto.
--user como alternativa fora do ambiente virtual
A instalação --user usa o local de pacotes do usuário desse Python em vez da pasta global. Pode servir para uso pessoal sem isolamento por projeto, mas não separa suas versões de pacotes. Identifique antes o interpretador base.
py -3 -m pip install --user "colorama==0.4.6"
O comando instala o exemplo no local do usuário. Não o acrescente ao fluxo de ambiente virtual. Um ambiente isolado comum rejeita --user porque o local de usuário não fica visível. Se ainda houver erro de permissão dentro do ambiente, investigue o caminho real em vez de adicionar essa opção.
Se continuar falhando ou faltar pip
Leia a mensagem final antes de atribuir toda falha a permissões. No matching distribution found, certificados, proxy e rede exigem verificações de compatibilidade ou conexão. Alinhe Python e requisitos com o guia de instalação de pacotes.
Se o ambiente novo indicar No module named pip, repare seu pip assim. ensurepip prepara o pip incluído com Python, sem garantir a versão mais recente da internet.
.\.venv\Scripts\python.exe -m ensurepip --upgrade
.\.venv\Scripts\python.exe -m pip --version
Se faltar ensurepip no Python base ou a criação continuar falhando, examine componentes e caminhos da distribuição. Feche normalmente um programa identificado como usuário dos arquivos antes de repetir. Para bloqueios de proteção, confira evento e política permitida. Use instalação administrativa somente quando fizer parte do procedimento de distribuição gerenciada previsto.
Desfazer a instalação de exemplo
Para remover somente o Colorama instalado neste ambiente novo, use o seguinte. -y pula a confirmação; confira antes ambiente e pacote.
.\.venv\Scripts\python.exe -m pip uninstall -y colorama
pip uninstall remove um pacote do ambiente escolhido. Um ambiente novo desnecessário pode ser excluído após conferir que não guarda código nem é usado por outros projetos. Se alterou um projeto existente, restaure as versões registradas. Um relato útil contém comando, caminhos Python e pip, último erro e arquivo afetado.




