Converter PY para PYC
Crie bytecode do CPython a partir do código PY com o interpretador local e a versão corretos.
Como converter py para pyc arquivo
- Programação
- Nenhuma avaliação ainda.
Um ambiente de implantação pode exigir bytecode do CPython em vez de um arquivo de código-fonte, ou um desenvolvedor pode querer que o cache de importação seja gerado para um projeto. A criação de um arquivo .pyc é uma etapa de compilação local executada pelo interpretador Python que o executará, não uma conversão geral de documentos.
O que é o formato PY
.py é um arquivo de código-fonte Python em texto simples que contém instruções, funções, classes, importações, comentários e outros códigos de programa. Os desenvolvedores criam e editam arquivos PY no Visual Studio Code, PyCharm, IDLE ou em qualquer editor de texto. O CPython analisa o código-fonte e o compila para bytecode na memória antes da execução; os módulos importados também podem ter esse bytecode gravado em um arquivo de cache PYC.
O que é o formato PYC
.pyc é um arquivo binário de bytecode produzido pelo CPython. Seu cabeçalho contém o identificador de bytecode do interpretador e informações de validade do cache; o restante contém bytecode Python serializado. Normalmente, o CPython armazena os arquivos gerados em __pycache__, usando nomes como module.cpython-312.pyc.
Um cache pode evitar a recompilação de um módulo importado que não foi alterado, mas não é um substituto executável para todo o aplicativo e não oculta o código-fonte com segurança. O bytecode pode ser inspecionado ou descompilado, e um arquivo PYC continua vinculado a uma implementação e versão específicas do Python.
Como criar um arquivo PYC
Instale a versão oficial do CPython exigida pelo sistema de destino e abra um terminal no diretório que contém o arquivo de código-fonte. O comando python do interpretador pode ser denominado python3 em alguns sistemas.
- Compile um arquivo de código-fonte no local normal do cache:
python -m py_compile script.py - Compile todos os arquivos Python em um diretório, incluindo subdiretórios:
python -m compileall project_folder - Coloque o PYC gerado ao lado do arquivo de código-fonte em vez de em
__pycache__:python -m compileall -b script.py - Especifique um nome de arquivo de saída exato com a biblioteca padrão:
python -c "import py_compile; py_compile.compile('script.py', cfile='output/script.pyc')"
O diretório pai do caminho cfile já deve existir. Use os mesmos comandos com python3 se esse for o nome do interpretador instalado. Executar um script diretamente normalmente o compila na memória; importar um módulo é o que normalmente cria seu arquivo de cache. IDEs compatíveis com Python usam o interpretador configurado e podem gerar arquivos PYC ao executar ou importar módulos do projeto.
Use o CPython local em vez de um conversor online. Um serviço web receberia o código-fonte e poderia compilá-lo com a versão incorreta do Python; não existe um serviço de conversão online de uso geral que seja preferível para o trabalho comum de conversão de PY para PYC. Uma IDE ou um terminal de desktop oferece a mesma compilação por meio do interpretador local selecionado.
Compatibilidade e limitações
Um PYC criado pelo CPython 3.12 geralmente não pode ser usado pelo CPython 3.11, pelo Python 2 ou por uma implementação diferente do Python. Compile usando a mesma versão principal e secundária e, de preferência, a mesma implementação usada no ambiente de implantação. O CPython pode ignorar e regenerar um cache quando os dados de data e tamanho ou os dados de validade baseados em hash não corresponderem mais ao código-fonte.
A compilação detecta erros de sintaxe, mas não testa o comportamento do programa. Dependências de tempo de execução, caminhos de importação, recursos do sistema operacional, configuração e erros de tempo de execução continuam sem solução. Os pacotes importados ainda devem ser instalados, a menos que o aplicativo seja empacotado separadamente. Para distribuição, use um wheel, ambiente virtual, pacote executável ou container quando apropriado; arquivos PYC isolados são principalmente caches do interpretador ou artefatos de implantação específicos da implementação.
Comparação de formato: PY vs PYC
Como os formatos PY e PYC se comparam nas propriedades mais importantes para esta conversão.
| Propriedade | .PY Python source file | .PYC Python compiled bytecode |
|---|---|---|
| Legível em texto simples | Sim | Não |
| Formatação de texto | Básico | Nenhum |
| Imagens | Não | Não |
| Edição posterior | Fácil | Não editável diretamente |
| Abre num navegador web | Não | Não |
| Tamanho típico do arquivo | Pequeno | Muito pequeno |
| Padrão aberto | Sim | Sim |
| Mais usado para | Edição e pós-produção | Incorporação em aplicações |
| Introduzido | 1991 | 1991 |
| Desenvolvedor | Python Software Foundation | Python Software Foundation |
| Tipo MIME | text/x-python | — |