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.