2
respostas

Python pode ser compilada?

Chamou minha atenção que mesmo Python que é usualmente interpretada e/ou usa JIT Compilation, também pode ser compilada, é isso mesmo?

2 respostas

Olá, Daniel. Tudo bem?

No Python, a compilação é um processo intermediário. O código escrito em Python é compilado para um Bytecode, que é uma representação mais baixo nível, menos compreensível por humanos, que será lido pelo interpretador. Ela é considerada interpretada porque o código gerado após a compilação não é código de máquina, mas sim um código intermediário, então não pode ser executado diretamente pela máquina, mas sim pelo interpretador.

Espero ter ajudado.

Oi, Daniel!

Isso! Como Python é só uma linguagem, usualmente isso não interfere na sua implementação de fato. Entretanto, a linguagem Python foi realmente construída para ser interpretada e é normalmente executada da forma que o Vitor comentou.

Mesmo assim, existem implementações que compilam Python pra binário. O único que testei foi o Nuitka, esse artigo ou esse vídeo podem explicar mais sobre.

Aqui, fiz um teste simples instalando o nuitka, compilando um pequeno código test.py e executando o binário resultante na pasta test.dist (exemplo em linux):

pip install nuitka
python3 -m nuitka --standalone test.py
./test.dist/test

Assim, esse programa de fato transforma o código python em um binário executável. Não testei com programas mais complexos para analisar o comportamento, mas pareceu interessante.

Abraços!