Как использовать Cython для компиляции Python 3 в C
Я пытаюсь преобразовать скрипт 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 и что я забыл «3» после «cython».
Итак, заново скомпилировал скрипт на python:
cython3 greet.py -o greet.c
Затем попытался перекомпилировать файл C, используя:
cc greet.c -o greet
Опять же, это не помогло, и я получил ту же ошибку, поэтому я отправился на поиск по SO и Google и нашел следующие вопросы:
фатальная ошибка: Python.h: нет такого файла или каталогаУ меня есть Python в моей системе Ubuntu, но gcc не может найти Python.hhttps://askubuntu.com/questions/526708/fatal-error-python-h-no-file-or-directoryНи один из этих ответов в этих вопросах не работает.
Я убедился, что я установил Cython все правильные зависимости, используяapt-get install
а такжеpip install
грустно думал, что это все еще, кажется, не работает.