在与Apache一起使用mod_wsgi时无法导入PyObjC CoreData模块

时间:2010-08-29 18:12:38

标签: objective-c django apache core-data mod-wsgi

刚刚将一个webapp从TurboGears移植到Django并完成了正常服务器运行的过程(即不是runserver)。尝试使用Django文档所讨论的推荐的Apache + mod_wsgi路由,但由于某种原因,只要您在Apache正在加载的模块中的任何地方尝试import CoreData,该线程就会没有错误消息或任何内容。 / p>

具体来说,它停止的时间点在CoreData/__init__.py文件中:

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

不确定是什么导致Core失败,因为import Foundation工作正常(即似乎并不是所有的PyObjC内容都在Apache下被破坏,只是CoreData)。

我现在正在考虑使用lighttpd路线,但是如果有人能够阐明如何使mod_wsgi方式工作会很好,因为我宁愿坚持尽可能接近建议的最简单的部署方法可能的。

提前感谢任何见解。

另外:我在OSX 10.6.4上使用任何最新版本的PyObjC& Apache附带了这个,加上我从Google Code网站上获取的最新mod_wsgi。

1 个答案:

答案 0 :(得分:1)

尝试强制WSGI应用程序在主解释器中运行。听起来像PyObjC没有正确实现,以便在子解释器中使用。参见:

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

相关问题