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

37

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

python "hello.py"

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

    
задан Bharath Lakshman 26.07.2013 в 16:15
источник

6 ответов

43

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

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

ответ дан Yamaho 26.07.2013 в 16:54
18

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

python hello.py

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

./hello.py

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

ответ дан MestreLion 27.07.2013 в 03:06
8

Откроется ссылка Компилировать в Python

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

import py_compile

py_compile.compile("file.py")

Этот метод компиляции не будет выполнять модуль либо как запуск python file.py.

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

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

    
ответ дан Bryan 26.07.2013 в 16:29
5

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

python -m compileall ./
    
ответ дан MediaVince 30.11.2015 в 17:21
0

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

Nuitika - это компилятор python, который поддерживает почти всю версию python.

команда syntex так же проста, как nuitika hello.py

Перейдите на Ссылка для получения дополнительной информации.

    
ответ дан salafi 31.01.2017 в 00:37
-1

Поскольку он скомпилирован, вам нужно запустить его через интерпретатор python

python yourfile.pyc

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

#!/usr/bin/python

или что-то подобное в первой строке в файлах .py. Это говорит о том, что ваша оболочка запускает остальную часть файла с помощью интерпретатора python.

    
ответ дан Goku 26.07.2013 в 16:50