Как скомпилировать файл Python?

Я начал изучать Python, и я также новый пользователь Ubuntu. Мне нужно знать способы компиляции файлов .py. Я пытался с помощью команды

python "hello.py"

Каковы другие способы компиляции Python?

60
задан 16 November 2015 в 16:09

5 ответов

В дополнение к ответу Брайана, если вы просто хотите скомпилировать файл или группу файлов из терминала, модуль py_compile может быть выполнен в виде сценария следующим образом:

python -m py_compile fileA.py fileB.py fileC.py ...

0
ответ дан 16 November 2015 в 16:09

Проверьте эту ссылку Компиляция в Python

В середине страницы рассказывается о модуле py_compile, который можно импортировать. Синтаксис выглядит следующим образом:

import py_compile

py_compile.compile("file.py")

Этот метод компиляции не будет запускать модуль так же, как запуск файла python file.py.

Существует также метод, который компилирует все дерево каталогов, но я позволю вам проверить ссылку, чтобы увидеть, как это выполняется.

Надеюсь, это поможет.

0
ответ дан 16 November 2015 в 16:09

Также знайте, что Вы не должны компилировать a .py файл для выполнения его. Python является интерпретируемым языком, и можно запустить скрипты непосредственно, любое использование:

python hello.py

Или сделайте свой исполняемый файл сценария путем добавления #!/usr/bin/env python к верхней части сценария, делая исполняемый файл файла с chmod +x hello.py и затем выполнение:

./hello.py

То, что Python внутренне компилирует Ваш .py сценарий к байт-коду .pyc файлы по причинам производительности являются деталью реализации, и если у Вас нет веской причины сделать так, позвольте самому Python решить, когда и скомпилировать ли.

26
ответ дан 16 November 2015 в 16:09

Вы также можете попробовать compileall:

python -m compileall ./
0
ответ дан 16 November 2015 в 16:09

Вы можете компилировать скрипты Python в двоичный код, используя различные методы, но я обнаружил, что использование Nuitka более эффективно.

Nuitka - это компилятор Python-to-C ++, который поддерживает практически все версии python.

Синтаксис команды так же прост, как

nuitka hello.py

Перейти к http://nuitka.net/doc/user-manual.html для получения дополнительной информации.

0
ответ дан 16 November 2015 в 16:09

Другие вопросы по тегам:

Похожие вопросы: