Я начал изучать Python, и я также новый пользователь Ubuntu. Мне нужно знать способы компиляции .py
файлов. Я пробовал с командой
python "hello.py"
Каковы другие способы компиляции Python?
В дополнение к ответу Брайана, если вы просто хотите скомпилировать файл или группу файлов из терминала, py_compile
модуль может быть выполнен в виде сценария следующим образом:
python -m py_compile fileA.py fileB.py fileC.py ...
-O
флаг, напримерpython -O -m py_compile …
, который «включит базовую оптимизацию». В основном он удаляетassert
операторы иif __debug__
код, поэтому для большинства кода это не имеет никакого эффекта. Смотритеman python
и «Что делает оптимизацию Python ... делать?» Для деталей.Также имейте в виду, что вам не нужно компилировать
.py
файл для его запуска. Python является интерпретируемым языком, и вы можете запускать сценарии напрямую, используя:Или сделайте ваш скрипт исполняемым, добавив
#!/usr/bin/env python
его в начало скрипта, сделав файл исполняемымchmod +x hello.py
и запустив:Тот факт, что Python внутренне компилирует ваш
.py
скрипт в.pyc
файлы байт-кода по соображениям производительности, является деталью реализации, и, если у вас нет веских причин для этого, пусть Python сам решает, когда и если компилировать.источник
chmod +x
), как интерпретатор читает сценарий?#!/path/to/interpreter
, ядро фактически выполняет все, что там объявлено, передавая путь скрипта в качестве аргумента. В моем примере, когда вы запускаете./hello.py
то, что на самом деле выполняется/usr/bin/env python ./hello.py
. См.chmod +x
гранты выполняются, и не затрагивают существующие разрешения, так что, по-видимому, они доступны для чтения в дополнение к тому, что теперь они исполняемые.Проверьте эту ссылку Компиляция в Python
В середине страницы рассказывается о модуле py_compile, который можно импортировать. Синтаксис выглядит следующим образом:
Этот метод компиляции не будет запускать модуль так же, как и запуск файла python file.py.
Существует также метод, который компилирует все дерево каталогов, но я позволю вам проверить ссылку, чтобы увидеть, как это выполняется.
Надеюсь это поможет.
источник
Вы также можете попробовать
compileall
:источник
Вы можете компилировать скрипты Python в двоичный код, используя различные методы, но я обнаружил, что использование Nuitka более эффективно.
Nuitka - это компилятор Python-to-C ++, который поддерживает практически все версии python.
Синтаксис команды так же прост, как
Перейти к http://nuitka.net/doc/user-manual.html для получения дополнительной информации.
источник