1

我有一份安装了所有开发工具的 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 但没有改变。

我错过了什么?

4

1 回答 1

1

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

于 2012-04-02T18:24:32.833 回答