Estoy trabajando con django y haciendo la integración de facebook para lo que se necesita un servidor de prueba. He tenido muchos problemas con Apache y su almacenamiento en caché de archivos .pyc, incluso pregunté aquí en stackoverflow .
Esa solución funciona, pero quiero saber si hay una opción para desactivar el almacenamiento en caché de Apache de dichos archivos. El reinicio del servidor puede ser un problema para mí.
EDITAR:
Aquí está el código django.wsgi:
path = '/not/actual/path' if path not in sys.path: sys.path.append(path) os.environ['DJANGO_SETTINGS_MODULE'] = 'notactualproj.settings' import django.core.handlers.wsgi application = django.core.handlers.wsgi.WSGIHandler()
Probablemente debería averiguar por qué esos archivos .pyc
no deseados están allí en primer lugar (¿están estos en su repository? Deben ignorarse).
Como se mencionó en los comentarios, si tiene archivos .pyc
colgantes que causan problemas, podría incorporar la eliminación de todos los archivos .pyc
como parte de su proceso de extracción cuando implemente un código más nuevo en el servidor. Al ejecutar la aplicación se volverán a crear los que se necesitan cuando se importan los módulos.
Ahora, si realmente no quiere que se genere un PYTHONDONTWRITEBYTECODE
, podría usar la variable de entorno PYTHONDONTWRITEBYTECODE
, pero no lo recomendaría ya que parece una solución bastante excesiva.
Ahora, tienes que hacer la diferencia entre dos problemas en juego aquí.
.pyc
), que pueden causar problemas en casos específicos, como la sustitución de un archivo por un módulo, pero a menudo no son motivo de preocupación. Para resolver el primer problema , solo tiene que eliminar los archivos de código de bytes no utilizados. Pero, nuevamente, esto probablemente no es lo que está causando tu problema.
Para resolver el segundo problema , tienes dos soluciones.
apache2ctl -k graceful
, esto será transparente para sus usuarios, y no puedo ver por qué “el reinicio del servidor puede ser un problema”, a menos que esté en un alojamiento compartido. mod_wsgi
. No creo que el bytecode sea su problema, y la recarga de código probablemente lo sea.