我正在尝试将 Python 3 脚本转换为 C,然后将该 C 文件编译为可执行文件。
我有这个简单的python脚本:
def greet(name = ""):
print("Hello {0}".format(name if len(name) > 0 else "World"))
greet("Mango")
我已使用以下方法将此脚本转换为 C:
cython greet.py -o greet.c
然后我使用以下方法编译了 C 文件:
cc greet.c -o greet
输入最后一个命令后,出现错误:
致命错误:Python.h:没有此类文件或目录编译终止。
在我得到错误后,我回过头来意识到我正在使用 Python3,并且我忘记了“cython”之后的“3”。
因此使用以下命令重新编译了 python 脚本:
cython3 greet.py -o greet.c
然后尝试使用以下命令重新编译 C 文件:
cc greet.c -o greet
这再次失败并引发了同样的错误,所以我在 SO 和 Google 上搜索并发现了这些问题:
- 致命错误:Python.h:没有这样的文件或目录
- 我的 Ubuntu 系统上有 Python,但 gcc 找不到 Python.h
- https://askubuntu.com/questions/526708/fatal-error-python-h-no-file-or-directory
这些问题中的这些答案都不起作用。
我已经确保我已经使用 cython 安装了所有正确的依赖项apt-get install
,但遗憾的pip install
是它似乎仍然无法正常工作。