我已经安装了所有开发工具的Lion副本。 Python(2.7)和Ruby(1.8)都运行良好。我已经安装了适用于Python的Natural Language Tool Kit,并在Python解释器中进行了尝试,并且可以正常工作

import nltk
>>true


这样行得通。我还安装了RubyPython gem,它似乎也可以工作,但是找不到nltk模块。我可能做错了什么。在irb中:

require "RubyGems"
require "rubypython" #both true
RubyPython.start # true
n = RubyPython.import "nltk" # RubyPython::PythonError: ImportError: No module named nltk
c = RubyPython.import "cPickle" # works!
RubyPython.stop


我不知道这一点。 PythonError似乎向我表明(因为这只是对直接C API的调用)任何形式的python都找不到nltk模块。但是口译员觉得很好。但是,RubyPython不能。

我也曾尝试强迫RubyPython使用python2.7,但没有任何变化。

我想念什么?

最佳答案

这很简单!由于某种原因,RubyPython在我的Python模块中找错了地方。通过在RubyPython脚本和Python中导入sys并比较sys.path来验证这一点。我最终通过在Ruby脚本中获取sys的路径列表并添加纯Python路径中缺少的内容来修复了它。然后,我可以加载NLTK。

09-07 09:38