#include <Python.h> - 编译在 Linux Mint 终止

#include <Python.h> - compilation terminated on Linux Mint

我正在尝试在我的 Linux Mint 17.2 Cinnamon 上安装 4Suite-XML 1.02。我下载了 tar.gz,将其解压,在解压目录中打开一个终端,使用 sudo su 和 运行 python setup.py install 转移到根目录 shell。我得到这个作为输出:

running install
running build
running config
running build_py
running build_ext
building 'Ft.Lib.number' extension
x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/include/python2.7 -c          Ft/Lib/src/number.c -o build/temp.linux-x86_64-2.7/Ft/Lib/src/number.o
Ft/Lib/src/number.c:7:20: fatal error: Python.h: No such file or directory
 #include <Python.h>
                ^
compilation terminated.
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1

通常 Linux 发行版将编程语言 run-times 分成两个包,Python 也不例外。

  • python - Python 代码运行时

  • python-dev - 开发文件、库和 headers。需要安装任何本机扩展。针对开发人员。将 Python 集成到 "native" C 库的东西。 Python 代码可跨操作系统移植,C 代码则不然。 C 代码必须重新编译到每个操作系统。

您需要安装相关的 python-dev 包,其中包含编译 Python 本机扩展所需的 C headers。在基于 Debian 的发行版上,此命令通常是 sudo apt install python-dev。我没有检查 Mint Linux 的实际命令,但我认为它是相同的。

另请阅读官方 Python 包安装指南 https://packaging.python.org/en/latest/installing.html - 通常 sudo 安装和 python setup.py install 是不必要的。 pip install --user命令应该能够为您下载、解压和安装包。

尝试:

sudo apt-get install python-dev python3-dev