1

すべての開発ツールがインストールされたLionのコピーを持っています。Python(2.7)とRuby(1.8)はどちらも問題なく動作しています。Python用のNaturalLanguageTool 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への単なる呼び出しであるため)nltkモジュールがどの形式のPythonでも見つからないことを示しているようです。しかし、通訳はそれで問題ないと思います。ただし、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 に答える