Python Компиляция

Python Компиляция — получение исполняемого файла отлаженной программы.

Python Компиляция двойственна: для ускорения выполнения каждая программа при первом исполнении компилируется в байт-код; существует полноценный компилятор, выдающий EXE-файл программы.

 

==

Программа на языке Python представляет собой обычный текстовый файл с расширением ру (консольная программа) или pyw (программа с графическим интерфейсом). Все инструкции из этого файла выполняются интерпретатором построчно. Для ускорения работы при первом импорте модуля создается промежуточный байт-код, который сохраняется в одноименном файле с расширением рус. При последующих запусках, если модуль не был изменен, исполняется именно байт-код. Для выполнения низкоуровневых операций и задач, требующих высокой скорости работы, можно написать модуль на языке С или С++, скомпилировать его, а затем подключить к основной программе.

Когда интерпретатор Python начинает выполнение программы, хранящейся в файле, он сначала компилирует ее в особое внутреннее представление, — это делается с целью увеличить производительность кода. Файл с откомпилированным кодом хранится в папке _pycache , вложенной в папку, где хранится сам файл программы, а его имя имеет еле-дующий вид: <имя файла с исходным, неоткомпилированным кодом>.сруthоn-<первые две цифры номера версии Python> .рус Так, при запуске на исполнение файла test4.py будет создан файл откомпилированного кода с именем test4.cpython-34.pyc. При последующем запуске того же файла на выполнение будет исполняться именно откомпилированный код. Если же мы исправим исходный код, программа его автоматически перекомпилирует. При необходимости мы можем удалить файлы с откомпилированным кодом или даже саму папку _pycache_ — впоследствии интерпретатор сформирует их заново.

Как говорилось ещё в главе 1, перед собственно выполнением каждый модуль Python компилируется, преобразуясь в особое внутреннее представление (байт-код), — это делается для ускорения выполнения кода. Файлы с откомпилированным кодом хранится в папке _pycache_, автоматически создающейся в папке, где находится сам файл с исходным, неоткомпилированным кодом модуля, и имеют имена вида <имя файла с исходным кодом>.сруthоn-<первые две цифры номера версии Python>.pyc. Так, при запуске на исполнение нашего файла tests.py откомпилированный код будет сохранен в файле tests.cpython34.pyc.

Следует заметить, что для импортирования модуля достаточно иметь только файл с откомпилированным кодом, файл с исходным кодом в этом случае не нужен. Для примера переименуйте файл tests.py (например, в tests1 .ру), скопируйте файл tests.cpython-34.pyc из папки _pycache_ в папку с основной программой и переименуйте его в tests.pyc, а затем запустите основную программу. Программа будет нормально выполняться. Таким образом, чтобы скрыть исходный код модулей, можно поставлять программу клиентам только с файлами, имеющими расширение рус.

Для языка Python существует и полноценный компилятор, который порождает обычные исполняемые ЕХЕ-файлы, не требующие для работы обязательной установки интерпретатора. Он реализован в виде отдельной библиотеки, носит название cx_Freeze и может быть найден по адресу http://cx-freeze.sourceforge.net/. Там же находится и документация по этой проrрамме.

==

 

 

Приглашаю всех высказываться в Комментариях. Критику и обмен опытом одобряю и приветствую. В хороших комментариях сохраняю ссылку на сайт автора!

И не забывайте, пожалуйста, нажимать на кнопки социальных сетей, которые расположены под текстом каждой страницы сайта.
Python КомпиляцияПродолжение тут…

Deviz_5

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Проверка комментариев включена. Прежде чем Ваши комментарии будут опубликованы пройдет какое-то время.