2010-08-29 3 views
3

Juste porté une webapp de TurboGears à Django et de passer par le processus d'exécution d'un bon serveur (c'est-à-dire pas runserver). J'ai essayé de suivre la route recommandée Apache + mod_wsgi dont parlent les docs Django, mais pour une raison quelconque le thread se bloque sans message d'erreur ou quoi que ce soit dès que vous essayez import CoreData n'importe où dans un module chargé par Apache.Impossible d'importer le module PyObjC CoreData lors de l'utilisation de mod_wsgi avec Apache

Plus précisément, le point où il cale en est dans le fichier ici CoreData/__init__.py:

__bundle__ = _objc.initFrameworkWrapper("CoreData", 
    frameworkIdentifier="com.apple.CoreData", 
    frameworkPath=_objc.pathForFramework(
    "/System/Library/Frameworks/CoreData.framework"), 
    globals=globals()) 

Je ne sais pas ce qu'il en est CoreData qui fait échouer ce, depuis import Foundation fonctionne très bien (il ne semble pas être que tout le contenu de PyObjC est cassé sous Apache, juste CoreData). Je cherche plutôt à utiliser maintenant la méthode lighttpd, mais si quelqu'un pouvait faire la lumière sur la façon de faire fonctionner mod_wsgi, je préférerais m'en tenir à la méthode de déploiement la plus simple proposée possible.

Merci d'avance pour toute idée.

En outre: je suis sur OSX 10.6.4 avec la dernière version de PyObjC & Apache est livré avec cela, plus le dernier mod_wsgi que j'ai saisi sur le site Web de Google Code.

Répondre

1

Essayez de forcer l'application WSGI à s'exécuter dans l'interpréteur principal. Des sons comme PyObjC ne sont pas implémentés correctement pour être utilisés dans les sous-interprètes. Voir:

http://code.google.com/p/modwsgi/wiki/ApplicationIssues#Python_Simplified_GIL_State_API

+0

Merci Graham, mettre le 'WSGIApplicationGroup% {}' GLOBAL ligne dans la configuration d'Apache a résolu le problème avec le chargement des libs CoreData ... maintenant sur le traitement avec d'autres erreurs de permissions de Django avant de voir un page sans trace de pile ... :) – glenc

Questions connexes