Вопрос может глупый, но всё же, с питоном стал знаком совсем недавно. Как я понимаю, работа кода python осуществляется через виртуальную машину, грубо скажем, что существенно снижает скорость работы. Кроме того, на ЭВМ должна быть установлена такая машина.
Всвязи с чем возникает вопрос. Можно ли как-то код питона компилировать в исполняемый файл машины или перевести нв язык СИ?
Не судите строго, просто очень интересно.

2

Есть: http://nuitka.net/pages/overview.html

3

Bif пишет:

Есть: http://nuitka.net/pages/overview.html

Благодарю, а почему файл с расширением exe получился, но запускается, как linux бинарник?

 Консоль:
[pavel@host-100 lesson1]$ nuitka hello.py
/usr/bin/ld: skipping incompatible /usr/lib/libm.so when searching for -lm
/usr/bin/ld: skipping incompatible /usr/lib/libc.so when searching for -lc
[pavel@host-100 lesson1]$ ls
hello.build  hello.exe  hello.py
[pavel@host-100 lesson1]$ ./hello.exe
Неправильный тип данных
end programm
[pavel@host-100 lesson1]$ ./hello.exe 2 3
0.666666666667
end programm

4

расширения в линуксе значения не имеют, просто часть имени файла

5

dyasny пишет:

расширения в линуксе значения не имеют, просто часть имени файла

Это понятно. Зачем только делать такое разрешение в Linux?
Сиплюсплюшный код скомпилировать не удалость, компилятор ругается на отсутствие  некоторых библиотек. Но скомпилировавшийся бинарник радует.

6

ivan.tiran, сделайте

 Консоль:
file бинарник.exe
 
если обычный линуксовый бинарник, то просто переименуйте.

Fedora GNOME3

7

ivan.tiran пишет:

Зачем только делать такое разрешение в Linux?

спросите авторов. но вообще, exe это сокращение от executable

8

Ну этот проект является оберткой для Cython, так что при желании можно использовать просто Cython

 Консоль:
$ cython --embed hello.py
$ gcc hello.c -I /usr/include/python2.7 -lpython2.7 -o hello

Подробнее: смотреть документацию по Cython

9 (05.01.2015 01:19:08 отредактировано drBatty)

ivan.tiran пишет:

Вопрос может глупый, но всё же, с питоном стал знаком совсем недавно. Как я понимаю, работа кода python осуществляется через виртуальную машину, грубо скажем, что существенно снижает скорость работы. Кроме того, на ЭВМ должна быть установлена такая машина.
Всвязи с чем возникает вопрос. Можно ли как-то код питона компилировать в исполняемый файл машины или перевести нв язык СИ?
Не судите строго, просто очень интересно.

это не нужно. Если вам так уж нужно быстродействие, используйте сишку. Можно только некоторые критичные функции. Но вряд-ли это поможет.

Зыж никаких расширений  в линуксе нет. Есть только имя. Имя исполняемого файла может быть любым, единственное что необходимо -- право выполнения. Для скриптов ещё и право чтения.

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

10

drBatty пишет:

Если вам так уж нужно быстродействие, используйте сишку.

Доктор вы правы! Лучше использовать Си, так как данный способ перевода программы Python в Си, требует целой кучи библиотек которые использует Python. По этому перенос бинарника с одной машины на другую, полученного данным способом, потребует установки и самого Python и библиотек которые он использует.

Python хорош тем, что число готовых решений под него уже обогнало Фортран.