Я пытаюсь преобразовать скрипт Python 3 в C и затем скомпилировать этот файл C в исполняемый файл.Как использовать Cython для компиляции Python 3 в C
У меня есть этот простой питон скрипт:
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
После ввода последней команды я получил ошибку:
fatal error: Python.h: No such file or directory compilation terminated.
После того, как я получил ошибку, я вернулся и понял, что я использую Python3 и что я забыл «3» после «cython».
Так перекомпилировано сценарий питона с помощью:
cython3 greet.py -o greet.c
Затем попытался повторно скомпилировать файл C помощью:
cc greet.c -o greet
Опять же это не удалось, и бросил ту же ошибку, поэтому я пошел искать на SO и Google и нашел эти вопросы:
- fatal error: Python.h: No such file or directory
- I have Python on my Ubuntu system, but gcc can't find Python.h
- https://askubuntu.com/questions/526708/fatal-error-python-h-no-file-or-directory
Ни один из этих ответов в этих вопросах не работают.
Я убедился, что я установил cython для всех правильных зависимостей, используя apt-get install
и pip install
печально думал, что он все еще не работает.
install [python-dev] (http://packages.ubuntu.com/search?keywords=python-dev) – Noelkd
Принятый ответ на ваш первый пример вопроса - вы пытались вместо этого выполнить sudo apt-get install python3 -dev'? (примечание 3). В 14.04 вам нужно сделать это, чтобы получить библиотеки dev для py 3 вместо 2. –
@JRichardSnape. Да, я уверен, что при необходимости изменил всю версию python, но я попробую еще раз. –