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?
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?
Respostas:
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:
python hello.py
Ou torne seu script executável adicionando #!/usr/bin/env python
à parte superior do script, tornando o arquivo executável chmod +x hello.py
e executando:
./hello.py
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.
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:
import py_compile
py_compile.compile("file.py")
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.
Você também pode tentar compileall
:
python -m compileall ./
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
nuitka hello.py
Goto http://nuitka.net/doc/user-manual.html para mais informações.
-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.