¿Por qué convertir PY a PYC?
La precompilación a .pyc permite que Python omita el paso de análisis (parse) en la siguiente ejecución, lo que ofrece una ligera mejora en la velocidad de inicio. También proporciona una leve ofuscación, ya que el bytecode no es código fuente legible por humanos, aunque puede descompilarse con herramientas como uncompyle6.
Cómo convertir PY a PYC
Python (py_compile) FREE
Ejecute python -m py_compile yourscript.py en una terminal; el archivo .pyc aparecerá en la subcarpeta __pycache__ junto a su script, nombrado con la etiqueta de versión de Python.
Python (compileall) FREE
Ejecute python -m compileall /path/to/project para compilar cada archivo .py en un árbol de directorios a la vez; todos los archivos .pyc aparecerán en sus respectivas subcarpetas __pycache__.
Acerca de estos formatos
Un archivo .py es un archivo de código fuente de Python: texto plano que contiene un programa o script escrito en el lenguaje Python. Para leer el código, ábralo en cualquier editor de…
Abrir detalles de .PY →Un archivo .pyc es bytecode de Python compilado que CPython almacena en caché automáticamente para acelerar el inicio. Normalmente no es necesario abrirlo ni tocarlo. Para ejecutar uno, use…
Abrir detalles de .PYC →Calidad y qué observar
- Un archivo
.pycestá vinculado a la versión exacta de Python que lo compiló - un archivo compilado con Python 3.12 no se cargará en Python 3.11 o anterior, porque cada versión incrusta un «magic number» único en el encabezado. .pycno es una protección real del código fuente - herramientas comouncompyle6pueden descompilar el bytecode de nuevo a código fuente de Python legible; no confíe en esto para proteger la propiedad intelectual.- Python 3 siempre escribe los archivos
.pycen una subcarpeta__pycache__, nunca junto al archivo fuente; la antigua extensión de bytecode optimizado.pyofue eliminada en Python 3.5.
Preguntas frecuentes
¿Necesito compilar manualmente a PYC o Python lo hace automáticamente?
.pyc automáticamente la primera vez que se ejecuta. El comando manual py_compile es útil para precompilar sin ejecutar o para detectar errores de sintaxis de forma anticipada.¿Puedo distribuir solo los archivos PYC sin el código fuente PY original?
.pyc son específicos de cada versión y pueden descompilarse. La práctica estándar es distribuir el código fuente .py en su lugar.¿Dónde pone Python el archivo PYC?
__pycache__ junto al código fuente .py, con un nombre como yourscript.cpython-312.pyc que refleja la versión de Python que lo compiló.