【问题标题】:Django webapp (on an Apache2 server) hangs indefintely when importing nltk in views.py在views.py中导入nltk时,Django webapp(在Apache2服务器上)无限期挂起
【发布时间】:2015-06-08 17:53:56
【问题描述】:

为了详细说明标题,我在导入 nltk 以在 django Web 应用程序中使用时遇到问题。我已经在 apache2 服务器上部署了 Web 应用程序。当我在 views.py 中导入 nltk 时,网页拒绝加载并最终在加载几分钟后超时。我已经使用 pip 安装了 nltk。我已经使用 pip 安装了许多其他 python 包,我可以在 django 中毫无问题地引用这些包。

我找不到任何可靠的东西来解释为什么会发生这种情况。这就是我正在使用的东西

  • 服务器操作系统:Ubuntu 14.04
  • Python:2.7.6
  • Django:1.8.2
  • Apache 网络服务器:2.4.7

就像我说的那样,我找不到任何好的理由,所以请随时询问您需要的任何其他信息。

谢谢!

【问题讨论】:

  • 可以在没有Django的情况下运行nltk部分代码吗?需要多少时间?或者只是导入 nltk 使其无响应?
  • 所以我尝试了两个类似于你提到的测试。我尝试的第一件事是在服务器上的 python shell 中导入 nltk。几乎立即进口。接下来是在 django 的 python shell 中导入 nltk,也可以立即导入而没有问题。就 nltk 代码而言,我只是尝试在 django 中导入模块。我在 views.py 中注释掉了我的 nltk 代码。
  • 您收到任何错误消息吗?可以获取服务器日志吗?
  • @EdwinLunando 不幸的是,当我这样做时没有抛出任何错误。日志中没有任何内容显示此问题。另一个值得注意的特点是,如果我使用python manage.py runserver 在服务器上本地运行 django 应用程序,则该应用程序不会出现此挂起问题。会不会是 apache 的设置有问题?

标签: python django apache ubuntu nltk


【解决方案1】:

我使用与您相同的网络堆栈,并且遇到了完全相同的问题。

您需要在站点的 Apache 配置文件中将 WSGIApplicationGroup 设置为 %{GLOBAL}

WSGIApplicationGroup %{GLOBAL}


【讨论】:

  • WSGIApplicationGroup 指令实际上与在同一服务器上运行多个 Django 项目没有任何关系。这与在子解释器中运行的代码有关。见code.google.com/p/modwsgi/wiki/…
  • @Vinay,这正是我的 apache 配置的问题所在。格雷厄姆的回答也是帮助我的答案,尽管我很高兴你回答了这个问题。在我将WSGIApplicationGroup %{GLOBAL} 添加到我的apache2.conf 文件后,一切正常。我要补充一点,我只在这台服务器上运行一个 webapp。也许您可以编辑您的回复以排除“多个 webapp”评论,因为这个问题似乎与此无关。我们不想给未来的 SO'ers 造成任何混乱。非常感谢你们!
  • 谢谢,我已经从我的回答中删除了 :-)
猜你喜欢
  • 1970-01-01
  • 2016-06-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-04-08
  • 2021-01-26
  • 2014-07-25
  • 2012-02-21
相关资源
最近更新 更多