koe*_*rro 5 python django statistics python-module scipy
我正在创建一个django驱动(1.3)接口的过程,该接口主要依赖于scipy.stats.stats(scipy版本0.9.0)ovl.在早期开发阶段,使用djangos自己的开发服务器,这没有问题.在使用apache debian/2.2.9和mod_wsgi 3.3进行部署之后,这会导致严重的问题.
无论我想在浏览器中加载什么视图,它都会开始加载,并持续5分钟(直到超时),并显示500页.只是导入scipy作品,但不会使scipy.stats.stats甚至scipy.stats可用.这并不奇怪; 在scipy的init .py 文档中,声明stats需要明确导入子包.然而,关于subpackage也是如此cluster,它在django中导入(来自web 和 django-shell)没有任何问题,并且确实显示出来dir(scipy),它在ipython(0.10.2)中没有,它只是没有出现,就像我预期的那样.
在命令dir(scipy); 当它从clusterdjango shell中的普通ipython shell(564字符串,没有子包cluster)和惊喜,惊喜时,从web(包含568字符串的列表,包括子包)中返回不同的结果.在django shell中,scipy有570个属性,包括两者cluster和stats包.
另一件事是,如果我继续导入ovl-package,同时保持scipy.stats导入一点距离(不是在应用程序本身的一个文件中),有时我得到一个ViewDoesNotExist错误,说明没有方法视图模块中的索引虽然显然有一个.这让我想起了这个.
所以现在我想到了这些相当丑陋的解决方案:
但是,我不愿意应用这些解决方案.在django环境中scipy出现的事实群集让我有点担心.我想也许这与从网上登录时成为www-data用户有关,但我不知道如何检查.
有没有人遇到过这个?部分内容?或者其他有用的想法?
哦,另一个django部署确实有效.
mod_python用于尝试在同一进程中使用多个Python解释器.mod_wsgi可能也是这样做的.虽然这通常可行,但某些扩展模块不支持此功能.scipy.stats可能正在导入这样的扩展模块.我们在scipy邮件列表上有类似的报告,涉及mod_python下的scipy.stats.检查mod_wsgi文档以查看是否可以对其进行配置,使其在同一进程中不使用多个解释器,或者查找为应用程序的每个进程使用一个解释器的不同部署策略.