Maison >développement back-end >Tutoriel Python >Comment corriger « erreur fatale : Python.h : aucun fichier ou répertoire de ce type » lors de la compilation des extensions C ?

Comment corriger « erreur fatale : Python.h : aucun fichier ou répertoire de ce type » lors de la compilation des extensions C ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2025-01-01 11:56:10746parcourir

How to Fix

Compilation d'un fichier d'extension C avec Python

Lors de la tentative de création d'une bibliothèque partagée à l'aide d'un fichier d'extension C, l'erreur « erreur fatale : Python.h : aucun fichier ou répertoire de ce type » peut survenir. Cela indique que les fichiers d'en-tête et les bibliothèques statiques pour le développement Python n'ont pas été correctement installés.

Pour résoudre ce problème, utilisez votre gestionnaire de packages pour installer ces dépendances à l'échelle du système. Vous trouverez ci-dessous les commandes des différents gestionnaires de paquets :

apt (Ubuntu, Debian) :

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

yum (CentOS, RHEL) :

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

dnf (Fedora) :

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

zypper (openSUSE) :

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

apk (Alpine) :

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

apt-cyg (Cygwin) :

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

Remarque importante : python3-dev/devel ne couvre pas automatiquement toutes les versions mineures de Python 3. Par exemple, si vous utilisez Python 3.11 , vous devrez peut-être installer python3.11-dev / python3.11-devel.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn