Comecei a aprender python e também sou um novo usuário do Ubuntu. Eu preciso conhecer as maneiras de compilar os .py
arquivos. Eu tentei com o comando
python "hello.py"
Quais são as outras maneiras de compilar python?
Adicionando à resposta de Bryan, se você simplesmente deseja compilar um arquivo ou vários arquivos de um terminal, o py_compile
módulo pode ser executado como um script da seguinte maneira:
python -m py_compile fileA.py fileB.py fileC.py ...
-O
bandeira, comopython -O -m py_compile …
, que ativará as otimizações básicas. Ele remove principalmente asassert
instruções e oif __debug__
código; portanto, para a maioria dos códigos, não tem efeito. Consulteman python
e "O que a otimização Python ... faz?" Para obter detalhes.Lembre-se também de que você não precisa compilar um
.py
arquivo para executá-lo. Python é uma linguagem interpretada e você pode executar os scripts diretamente, usando:Ou torne seu script executável adicionando
#!/usr/bin/env python
à parte superior do script, tornando o arquivo executávelchmod +x hello.py
e executando:O fato de o Python compilar internamente seu
.py
script para.pyc
arquivos de bytecode por motivos de desempenho é um detalhe da implementação e, a menos que você tenha um motivo forte para fazê-lo, deixe o próprio python decidir quando e se compilar.fonte
chmod +x
), como o intérprete está lendo o script?#!/path/to/interpreter
, o kernel realmente executa o que for declarado lá, passando o caminho do script como argumento. No meu exemplo, quando você executa, o./hello.py
que é realmente executado é/usr/bin/env python ./hello.py
. Veja en.wikipedia.org/wiki/Shebang_(Unix)chmod +x
concessões são executadas e não tocam nas permissões existentes, portanto, presumivelmente, é legível, além de agora ser executável.Confira este link Compilar em Python
No meio da página, ele fala sobre o módulo py_compile que pode ser importado. A sintaxe é a seguinte:
Esse método de compilação não executará o módulo, como na execução de python file.py.
Também existe um método que compila uma árvore de diretórios inteira, mas deixarei você verificar o link para ver como isso é executado.
Espero que isto ajude.
fonte
Você também pode tentar
compileall
:fonte
Você pode compilar scripts Python para um código binário usando vários métodos, mas descobri que usar o Nuitka é mais eficiente.
Nuitka é um compilador Python para C ++ que suporta quase todas as versões do python.
A sintaxe do comando é tão fácil quanto
Goto http://nuitka.net/doc/user-manual.html para mais informações.
fonte