I am trying to build a shared library using a C extension file but first I have to generate the output file using the command below:
gcc -Wall utilsmodule.c -o Utilc
After executing the command, I get this error message:
> utilsmodule.c:1:20: fatal error: Python.h: No such file or directory compilation terminated.
I have tried all the suggested solutions over the internet but the problem still exists. I have no problem with Python.h
. I managed to locate the file on my machine.
Python h no such file or directory is a fatal error. If you are trying to build a shared library using a C extension file, you need to install the development version of Python. For example, if you use Python 3, you need to install the python3-dev.
Python.h is nothing but a header file. It is used by gcc to build applications. You need to install a package called python-dev. This package includes header files, a static library and development tools for building Python modules, extending the Python interpreter or embedding Python in applications.
python-dev is the package that contains the header files for the Python C API, which is used by lxml because it includes Python C extensions for high performance.
Looks like you haven't properly installed the header files and static libraries for python dev. Use your package manager to install them system-wide.
For apt
(Ubuntu, Debian...):
sudo apt-get install python-dev # for python2.x installs sudo apt-get install python3-dev # for python3.x installs
For yum
(CentOS, RHEL...):
sudo yum install python-devel # for python2.x installs sudo yum install python3-devel # for python3.x installs
For dnf
(Fedora...):
sudo dnf install python2-devel # for python2.x installs sudo dnf install python3-devel # for python3.x installs
For zypper
(openSUSE...):
sudo zypper in python-devel # for python2.x installs sudo zypper in python3-devel # for python3.x installs
For apk
(Alpine...):
# This is a departure from the normal Alpine naming # scheme, which uses py2- and py3- prefixes sudo apk add python2-dev # for python2.x installs sudo apk add python3-dev # for python3.x installs
For apt-cyg
(Cygwin...):
apt-cyg install python-devel # for python2.x installs apt-cyg install python3-devel # for python3.x installs
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With