python google-app-engine bytecode pyc

Python no interpreta los archivos modificados, utilizando.pyc obsoleto



google-app-engine bytecode (3)

¿Está editando los archivos .py en un sistema diferente de donde se compilan?

El compilador vuelve a compilar los archivos .py si la fecha de modificación es más reciente que la fecha de modificación del archivo .pyc.

El hecho de que esté escogiendo el archivo .pyc para su uso apunta al hecho de que su archivo .py tiene una fecha de modificación anterior. Esto solo es posible si su archivo .py se está modificando en un sistema diferente y luego se está copiando al que se va a usar y el entorno de edición / reloj del sistema se encuentra detrás del entorno de tiempo de ejecución / reloj del sistema.

El uso de Google App Engine para desarrollar ayer en Python dejó de ejecutar la versión actual del script. En lugar de ejecutar la versión más reciente, parece ejecutar el .pyc previamente compilado incluso si se cambió la fuente .py.

Los mensajes de error realmente citan la línea correcta de la fuente más reciente. Excepto si la posición de la línea cambió, entonces cita la línea que está en el lugar donde ocurrió el error anteriormente.

Eliminar archivos .pyc hace que se vuelvan a crear a partir de la versión actual. Eliminar todas las .pycs es una solución pobre por ahora.

¿Cómo puedo llegar a la causa raíz del problema?


¿Revisaste el reloj de tu sistema? Creo que Python determina si usar .pyc o .py en función de las marcas de tiempo. Si el reloj de su sistema se retrasara, vería los archivos .pyc como más nuevos hasta que el reloj del sistema alcanzara la última vez que se construyeron.


Los siguientes pasos resolvieron el problema temporalmente:

  1. Elimine GoogleAppEngineLauncher de su carpeta Aplicaciones.
  2. Cambie el nombre del archivo ~ / Library / Application Support / GoogleAppEngineLauncher / Projects.plist (por ejemplo, Project.plist.backup
  3. Cambie el nombre del archivo ~ / Library / Preferences / com.google.GoogleAppEngineLauncher.plist (por ejemplo, com.google.GoogleAppEngineLauncher.plist.backup)
  4. Descargue e instale Google App Engine Launcher nuevamente.
  5. Use "Archivo", "Agregar aplicación existente ..." para volver a agregar sus proyectos, no olvide configurar los indicadores que haya configurado anteriormente.

Alternativamente, incluso podría funcionar al iniciar GAEL una vez, cerrándolo y volviendo a poner en su lugar los archivos de preferencias respaldados para evitar tener que volver a configurarlos.

Editar: Resulta que lo arregla ... temporalmente. No es exactamente un problema muy fácil de depurar. Curiosamente, funciona cuando se ejecuta el servidor de aplicaciones desde la línea de comandos, como

dev_appserver.py testproject/ -p 8082 --debug