Erro “Ambiente Gerenciado Externamente” no Pip (Linux): 3 Soluções!

Solucionando o Erro “Ambiente Gerenciado Externamente” no Python ao Utilizar o Pip em Distribuições Linux Recentes

Se você é um desenvolvedor Python que migrou recentemente para o Ubuntu 23.04, Fedora 38 ou versões similares, é bem provável que já tenha se deparado com a mensagem de erro “ambiente gerenciado externamente” ao tentar instalar pacotes utilizando o pip, o gerenciador de pacotes do Python. Esta situação pode ser bastante frustrante, especialmente se você não a encontrou em versões anteriores do Ubuntu, Fedora e outras distribuições. Vamos explorar a fundo o que causa esse erro e como você pode resolvê-lo de forma rápida e eficaz.

Causas do Erro “Ambiente Gerenciado Externamente”

As versões mais recentes das distribuições Linux estão adotando os padrões definidos no PEP-668. Essa mudança garante que o pip não instale pacotes em um contexto global por padrão. O objetivo desta implementação é evitar conflitos entre o gerenciador de pacotes da distribuição e as ferramentas de gerenciamento de pacotes do Python. Para entender mais detalhes técnicos, consulte a documentação oficial PEP-668. Caso queira contornar essa proteção, existem três métodos principais que você pode aplicar.

1. Remoção do Arquivo “EXTERNALLY-MANAGED”

Este é o método mais direto para resolver o erro. Basta navegar até o diretório /usr/lib/python3.xx e remover o arquivo chamado EXTERNALLY-MANAGED. Utilize os seguintes comandos no seu terminal:


    cd /usr/lib/python3.11
    sudo rm EXTERNALLY-MANAGED
  

Após realizar esta ação, o problema deverá estar resolvido. Se, no futuro, você quiser restaurar essa proteção, basta recriar o arquivo com o comando:


    sudo touch EXTERNALLY-MANAGED
  

Após isso, você deverá ser capaz de instalar pacotes com o pip normalmente.

2. Utilização de Ambientes Virtuais para Instalação de Pacotes

Uma alternativa eficiente é o uso de ambientes virtuais em seus projetos Python. Ambientes virtuais permitem o isolamento de pacotes específicos de um projeto do restante do sistema, organizando melhor suas dependências. Veja como configurar e usar um ambiente virtual:

  • Primeiramente, crie um novo ambiente virtual com:
    
        python3 -m venv venv
      
  • Ative o ambiente virtual, executando o script ‘activate’ dentro da pasta ‘bin’:
    
        source venv/bin/activate
      

Após ativar, o nome do ambiente virtual aparecerá no prompt do seu terminal. A partir de agora, você poderá instalar qualquer pacote Python desejado dentro deste ambiente isolado.

No exemplo acima, a instalação do pacote ‘openai’ falhou inicialmente, mas funcionou sem problemas após a criação e ativação de um ambiente virtual.

3. Emprego do pipx para Gerenciamento de Pacotes

O pipx é uma ferramenta que facilita a instalação de pacotes Python em ambientes virtuais e isolados. Ele automatiza a criação de ambientes virtuais para cada pacote e adiciona links simbólicos para os pacotes na pasta .local/bin, permitindo que você os chame diretamente do terminal. Assim, o pipx evita o erro “ambiente gerenciado externamente” ao lidar com dependências. Para usar, primeiro instale o pipx usando o gerenciador de pacotes da sua distribuição Linux:

Em sistemas derivados do Ubuntu/Debian:


    sudo apt-get install pipx
  

Em sistemas baseados no Arch Linux:


    sudo pacman -S pipx
  

No Fedora, CentOS e RHEL:


    sudo dnf install pipx
  

Uma vez instalado, o uso do pipx é semelhante ao pip. Veja um exemplo:


    pipx install openai
  

Para mais informações, consulte a página do manual do pipx com o comando man.

Conclusão

Agora você tem conhecimento de como resolver o erro “ambiente gerenciado externamente” ao usar o pip no Linux. Com essas soluções, você pode continuar trabalhando em seus projetos ou aprofundar seus conhecimentos em Python sem interrupções. Se você está buscando praticar e aprimorar suas habilidades, considere explorar diferentes abordagens gamificadas para aprender programação, que podem ser muito eficazes e recompensadoras.