Tamanho de fonte
Alto contraste
Altura de linha

Como Corrigir “fatal error: Python.h: No such file or directory” em Extensões C do Python

Avatar de Ana Maria Gomes Ana Maria Gomes
3 minutos de leitura 4 meses atrás

Está tentando construir uma biblioteca compartilhada usando uma extensão C no Python e se deparou com o temido “fatal error: Python.h: No such file or directory”? Não se preocupe, pois esse é um problema comum que muitos desenvolvedores enfrentam, e ele pode ser resolvido com alguns passos simples.

Entendendo o Erro

A mensagem de erro indica que o compilador não consegue encontrar os arquivos de cabeçalho do Python necessários para construir a extensão C. Esses arquivos de cabeçalho fazem parte do pacote de desenvolvimento do Python, que nem sempre é instalado por padrão.

Instalando os Cabeçalhos de Desenvolvimento do Python

Para resolver esse erro, você precisa instalar os cabeçalhos de desenvolvimento do Python. O processo de instalação varia dependendo do seu sistema operacional e do gerenciador de pacotes que ele utiliza.

Para sistemas baseados em Debian (como Ubuntu):

sudo apt-get install python-dev   # Para Python 2.x
sudo apt-get install python3-dev  # Para Python 3.x

Se você estiver usando uma versão específica menor do Python 3, precisará instalar o pacote de desenvolvimento correspondente:

sudo apt-get install python3.5-dev  # Para Python 3.5<br># ... e assim por diante para outras versões

Para versões mais recentes, a convenção de nomes mudou um pouco:

sudo apt install libpython3.7-dev  # Para Python 3.7
# ... e assim por diante para outras versões

Para sistemas baseados em Red Hat (como CentOS):

sudo yum install python-devel    # Para Python 2.x
sudo yum install python3-devel   # Para Python 3.x

Para Fedora:

sudo dnf install python2-devel  # Para Python 2.x
sudo dnf install python3-devel  # Para Python 3.x

Para openSUSE:

sudo zypper in python-devel   # Para Python 2.x
sudo zypper in python3-devel  # Para Python 3.x

Para Alpine Linux:

sudo apk add python2-dev  # Para Python 2.x
sudo apk add python3-dev  # Para Python 3.x

Para Cygwin:

apt-cyg install python-devel   # Para Python 2.x
apt-cyg install python3-devel  # Para Python 3.x

Nota Importante

Tenha em mente que instalar python3-dev ou python3-devel não cobre automaticamente todas as versões menores do Python 3. Se você estiver usando o Python 3.11, por exemplo, pode ser necessário instalar python3.11-dev ou python3.11-devel.

Resumo

Para corrigir o erro “fatal error: Python.h: No such file or directory”, você precisa instalar os cabeçalhos de desenvolvimento do Python para a sua versão específica do Python. Isso pode ser feito usando o gerenciador de pacotes do seu sistema. Uma vez instalados, você deve ser capaz de compilar sua extensão C sem problemas. Lembre-se de escolher o pacote correto para a sua versão do Python para garantir a compatibilidade.

Imagem de um notebook

Cursos de programação gratuitos com certificado

Aprenda a programar e desenvolva soluções para o seu trabalho com Python para alcançar novas oportunidades profissionais. Aqui na Asimov você encontra:

  • Conteúdos gratuitos
  • Projetos práticos
  • Certificados
  • +20 mil alunos e comunidade exclusiva
  • Materiais didáticos e download de código
Inicie agora

Comentários

Comentar
Faça parte da discussão Crie sua conta gratuita e compartilhe
sua opinião nos comentários
Entre para a Asimov