Cuando compilo un archivo de Python, obtengo un archivo * .pyc. Cuando intento ejecutar eso, recibo un mensaje que dice que no hay ningún programa para ejecutarlos. Cuando busco un programa en línea a través de esa opción, dice que no hay ninguno. ¿Alguien puede ayudarme a ejecutar allí los archivos?
18
Para descompilar archivos compilados .pyc python3, utilicé
uncompyle6
en mi sistema operativo Ubuntu actual de la siguiente manera:Instalación de Unpypy6:
Para crear un archivo .py a partir del archivo .pyc Ejecute:
Automáticamente se creará un nuevo archivo .py con el mismo nombre de archivo .pyc existente.
fuente
Python compila los archivos .py y los guarda como archivos .pyc para que pueda hacer referencia a ellos en invocaciones posteriores. El .pyc contiene el bytecode compilado de los archivos fuente de Python, que es a lo que el intérprete de Python compila la fuente. Este código es ejecutado por la máquina virtual de Python. No hay ningún daño en eliminarlos (.pyc), pero ahorrarán tiempo de compilación si está procesando mucho.
Python es un lenguaje interpretado, a diferencia de uno compilado, aunque la distinción puede ser borrosa debido a la presencia del compilador de bytecode. Compilar generalmente significa convertir a código de máquina, que es lo que se ejecuta más rápido. Pero los intérpretes toman texto legible por humanos y lo ejecutan. Pueden hacer esto con una etapa intermedia.
Por ejemplo, cuando ejecuta el archivo fuente myprog.py, el intérprete de Python primero busca si
myprog.pyc
existe alguno (que es la versión compilada de código de bytesmyprog.py
) y si es tan reciente o más reciente quemyprog.py
. Si es así, el intérprete lo ejecuta. Si no existe, omyprog.py
es más reciente de lo que (lo que significa que ha cambiado el archivo de origen), el intérprete primeras compilacionesmyprog.py
amyprog.pyc
.Hay una excepción al ejemplo anterior. Si coloca
#! /usr/bin/env python
la primera línea demyprog.py
, hágalo ejecutable y luego ejecútelomyprog.py
solo.fuente
pyc
existen los archivos, pero no ha respondido a la pregunta de cómo ejecutarlos. Puede calificarse como un comentario muy extenso, no como una respuesta . Por favor, editar el post para añadir una respuesta real.