2010-08-29 3 views
3

Просто портирован webapp из TurboGears в Django и проходит процесс получения надлежащего сервера (т. Е. Не runserver). Пробовал следовать рекомендованному маршруту Apache + mod_wsgi, о котором говорят в документах Django, но по какой-то причине поток останавливается без сообщения об ошибке или чего-либо еще, как только вы пытаетесь выполнить команду import CoreData в любом месте модуля, загружаемого Apache.Невозможно импортировать модуль PyObjC CoreData при использовании mod_wsgi с Apache

В частности, точка, в которой он глохнет из находится в CoreData/__init__.py файл здесь:

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

Не уверен, что речь идет о CoreData, что делает это не так, поскольку import Foundation работает нормально (т.е. не кажется чтобы все вещи PyObjC были разбиты под Apache, только CoreData).

Я сейчас смотрю на путь lighttpd вместо этого, но если кто-нибудь сможет пролить свет на то, как сделать работу mod_wsgi хорошей, поскольку я предпочел бы придерживаться максимально приближенного метода простейшего развертывания насколько это возможно.

Заранее благодарим за любые идеи.

Также: я на OSX 10.6.4 с любой последней версией PyObjC & Apache поставляется с этим, а также последним mod_wsgi, который я захватил с сайта Google Code.

ответ

1

Попробуйте использовать приложение WSGI для запуска в основном интерпретаторе. Похоже, что PyObjC неправильно реализован, чтобы использоваться в суб-интерпретаторах. См:

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

+0

Благодаря Graham, поставив 'WSGIApplicationGroup% {GLOBAL}' строка в Apache конфигурации исправлена ​​проблема с загрузкой LIBS CoreData ... теперь на дело с другими ошибками разрешений Django, прежде чем я вижу страница без трассировки стека ... :) – glenc

Смежные вопросы