致命错误:Python.h:没有这样的文件或目录

2022-09-05 00:52:57

我正在尝试使用C扩展文件构建共享库,但首先我必须使用以下命令生成输出文件:

gcc -Wall utilsmodule.c -o Utilc

执行命令后,我收到此错误消息:

> utilsmodule.c:1:20: fatal error: Python.h: No such file or directory
compilation terminated.

我已经通过互联网尝试了所有建议的解决方案,但问题仍然存在。我对.我设法在我的机器上找到该文件。Python.h


答案 1

看起来你还没有正确安装python开发的头文件和静态库。使用包管理器在系统范围内安装它们。

For (Ubuntu, Debian...):apt

sudo apt-get install python-dev   # for python2.x installs
sudo apt-get install python3-dev  # for python3.x installs

For (CentOS, RHEL...):yum

sudo yum install python-devel    # for python2.x installs
sudo yum install python3-devel   # for python3.x installs

对于 (Fedora...):dnf

sudo dnf install python2-devel  # for python2.x installs
sudo dnf install python3-devel  # for python3.x installs

For (openSUSE...):zypper

sudo zypper in python-devel   # for python2.x installs
sudo zypper in python3-devel  # for python3.x installs

对于(高山...):apk

# 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

对于(Cygwin...):apt-cyg

apt-cyg install python-devel   # for python2.x installs
apt-cyg install python3-devel  # for python3.x installs

注意:python3-dev不会自动覆盖python3的所有次要版本,如果您使用的是python 3.8,则可能需要安装python3.8-dev。


答案 2

在Ubuntu上,我运行的是Python 3,我必须安装

sudo apt-get install python3-dev

如果要使用未链接到 python3 的 Python 版本,请安装关联的 python3.x-dev 包。例如:

sudo apt-get install python3.5-dev