我现在是Django和Python的初级用户,到目前为止,我在本地所做的任何事情一旦上传,都会立即在我的主机上运行。我的主机是由Hostmonster提供的。在
不过,我刚刚安装了PyEnchant。我用它来做基本的拼写检查和建议新单词。另外,“string”总是由“+”分隔的单词串。在
from enchant import Dict
def spellcheck(string):
spellcheck = Dict("en-GB")
suggestedword = []
for word in string.split('+'):
if len(word) > 2 and not spellcheck.check(word):
suggestedword.append(spellcheck.suggest(word)[0])
else:
suggestedword.append(word)
return suggestedword
在本地,使用Django dev服务器,一切正常。在我的主机上我得到:
Django Version: 1.4
Exception Type: MemoryError
Exception Location: /home/user/python/lib/python2.7/ctypes/__init__.py in _reset_cache, line 279
它似乎是抛出错误后几步'从附魔进口Dict'。在
我猜这本词典太大了,不能储存在临时存储器里?在
你知道怎么解决这个问题吗?如果我问的是非常愚蠢的问题,或者是用一种非常愚蠢的方式,请对我从容不迫:)。在
如果我遗漏了任何重要的数据,那是因为我不知道它的重要性,所以请告诉我还有什么其他信息可以帮助解决这个问题(如果它可以在共享主机上解决的话)。在
提前谢谢你的帮助!在
编辑1:
使用SSH,我可以导入并使用PyEnchant:
^{pr2}$这让我更加困惑,因为当我在我的问题中使用“MemoryError”这个词时,我没有幸避免它。在
编辑2:
还是搞不清楚。如果我在任何模块中执行“import enchant”,似乎会导致MemoryError,但我可以通过远程shell和python解释器使用“import enchant”。在
编辑3:
尽管如此,经过几天的谷歌搜索和尝试,我还是无法让这个记忆体消失。以前有人看过这个吗?我想我的主机可能没有提供足够的内存来加载PyEnchant导入?有没有办法改变一个模块使用内存的方式?在
在移动Django安装之后,我也遇到了同样的问题。问题是httpd(Apache)对数据库的访问。在我的例子中,它是Selinux,但是我假设一般的UNIX类型的文件权限会导致类似的问题。在本例中,它在Django服务器上运行得很好,但在我的本地Apache上却无法运行。在
相关问题 更多 >
编程相关推荐