¿Por qué convertir PYC a PYO?
.pyo era el bytecode optimizado de Python, casi idéntico a .pyc pero con las sentencias assert eliminadas y, opcionalmente, las docstrings suprimidas. Python 3.5 integró el nivel de optimización en el nombre del archivo .pyc, haciendo que .pyo fuera redundante y eliminándolo por completo. Ninguna versión de Python desde la 3.5 lee o escribe archivos .pyo, por lo que un convertidor de PYC a PYO no tiene un propósito legítimo.
Acerca de estos formatos
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 →Un archivo .pyo es un caché de bytecode optimizado de Python legado, generado al ejecutar Python con el modificador -O o -OO. El formato binario es idéntico al de un archivo .pyc. Python…
Abrir detalles de .PYO →Calidad y qué observar
- Para producir bytecode optimizado en Python 3.5+, ejecute
python -O -m compileall yourscript.py; el resultado es un archivo.pycnombrado conopt-1en la carpeta__pycache__. - Si tiene un archivo
.pyode un proyecto de Python 2 o de una versión temprana de Python 3, puede renombrarlo a.pycy ejecutarlo con la versión de Python correspondiente; el intérprete lo cargará si el «magic number» coincide. pyoy.pyceran funcionalmente casi idénticos incluso antes de su eliminación, que es exactamente la razón por la cual la extensión separada se eliminó en Python 3.5.
Preguntas frecuentes
¿Es .pyo lo mismo que .pyc?
assert desactivadas, razón por la cual la extensión independiente se eliminó en Python 3.5.Tengo un archivo .pyo de un proyecto antiguo. ¿Puedo seguir usándolo?
.pyc; Python 3.5 y versiones posteriores no crean archivos .pyo pero aún pueden ejecutarlos.