PyPy能与NLTK一起使用吗?
PyPy能和NLTK一起使用吗?如果可以的话,使用贝叶斯分类器时性能提升明显吗?
顺便问一下,其他的Python环境(比如shedskin等)在NLTK的表现上比CPython更好吗?
3 个回答
3
现在你可以用 pypy 来运行 nltk 了。这里有一个关于 pypy 1.8 的 性能测试,不过后面的版本(现在最新的是 pypy 2.0)表现会更好。现在,nltk 的 单元测试也在 pypy 下运行,所以 nltk 的开发者们确保它是可以正常工作的。
5
根据在freenode的#pypy频道上有人说,NLTK中的一些功能是可以和PyPy一起使用的,而且使用PyPy时性能会有所提升。你有没有进行过测试呢?你只需要从pypy.org/download.html下载PyPy,然后把命令从“time python yourscript.py data.txt”改成“time pypy yourscript.py data.txt”就可以了。
4
我收到了一个邮件回复(Seo,可以在这里回复)说:
主要问题有:
PyPy实现的是Python 2.5版本。这意味着我们需要在一些地方添加“from future import with_statement”,重写property.setter的用法,并且修正一些在2.6版本中新的库调用,比如os.walk。
NLTK需要PyYAML。简单地将一些文件链接(或者复制)到pypy-1.4/site-packages就可以了。
还有:
你有用PyPy运行NLTK吗?如果有,你觉得性能有提升吗?
有的,确实有。
所以显然,NLTK可以在PyPy上运行,并且性能有所提升。