RubyPython无法在OS X Lion上导入nltk

时间:2012-04-01 20:24:13

标签: python ruby nltk rubypython

我已经安装了所有开发工具的Lion副本。 Python(2.7)和Ruby(1.8)都运行得很好。我已经安装了Python的自然语言工具包,并在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但没有改变。

我错过了什么?

1 个答案:

答案 0 :(得分:1)

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