【发布时间】:2013-05-08 02:13:29
【问题描述】:
我正在开发一个 Python 项目,目前使用的是 Django,它在表单后期处理中完成了相当多的 NLP 工作。我正在使用 NLTK 包,并分析我的代码并进行实验我已经意识到代码花费的大部分时间是执行 NLTK 和各种其他包的导入过程。我的问题是,有没有办法让这个服务器启动,进行这些导入,然后等待请求,将它们传递给使用已经导入包的函数?这比在每个请求上执行此类导入要快得多且浪费更少。如果有人有任何想法避免每次请求都导入大包,如果您能帮助我,那就太好了!
谢谢, 卡勒姆
【问题讨论】:
-
你是如何部署 Django 的? CGI、fCGI、WSGI 还是其他? (对于其他评论者:是的,您可以通过 CGI 运行 Django)。
-
我现在只使用开发服务器,但我的意图(尚未深入研究)是 Nginx 上的 WSGI。不过,我绝对可以适应这个要求。
-
您应该记住,Django 开发服务器会在运行时自动重新加载修改后的模块,这样您就不必重新启动。可能这就是为什么每次请求都会重新加载 NLTK 的原因......我想这在使用 WSGI 时不会发生......
-
我并没有修改 NLTK,它只是导入的。它在请求之间没有被修改,但它所在的 views.py 文件似乎在每个请求中都被重新加载 - 包括它的所有导入。
标签: python django import request nlp