【问题标题】:#include <Python.h> - compilation terminated on Linux Mint#include <Python.h> - 在 Linux Mint 上终止编译
【发布时间】:2016-04-07 18:17:49
【问题描述】:

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

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

【问题讨论】:

    标签: python linux linux-mint


    【解决方案1】:

    通常 Linux 发行版将编程语言运行时拆分为两个包,Python 也不例外。

    • python - Python 代码运行时

    • python-dev - 开发文件、库和头文件。需要安装任何本机扩展。面向开发人员。将 Python 集成到“本机”C 库的东西。 Python 代码可以跨操作系统移植,而 C 代码则不能。 C 代码必须重新编译到每个操作系统。

    您需要安装相关的 python-dev 包,其中包含编译 Python 本机扩展所需的 C 头文件。在基于 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 命令应该可以为你下载、解压和安装包。

    【讨论】:

    • 如何找到“相关的python-dev包”?我不明白你的意思。
    • 另外,我尝试使用 pip 命令(使用 sudo,因为我希望它不仅为我的用户安装)。我遇到了另一个错误...我应该在这里发布吗?
    • 还有一件事:原生扩展是什么意思?很抱歉,我不熟悉很多术语。
    • 将 Python 集成到“本机”C 库的东西。 Python 代码可以跨操作系统移植,而 C 代码则不能。 C 代码必须重新编译到每个操作系统。
    • @Rohan:也别担心——希望这能解决所有问题。
    【解决方案2】:

    试试:

    sudo apt-get install python-dev python3-dev

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-17
      • 1970-01-01
      • 2020-03-06
      • 1970-01-01
      • 2013-05-02
      相关资源
      最近更新 更多