RubyPython не может импортировать nltk на OS X Lion

1

У меня есть копия Lion со всеми установленными инструментами dev. Оба Python (2.7) и Ruby (1.8) работают нормально. Я установил набор инструментов Natural Language Tool для Python и попробовал его в интерпретаторе Python, и он работает

import nltk
>>true

Так что работает. Я также установил жемчужину RubyPython, и, похоже, он тоже работает, но он не может найти модуль 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 указывает мне (потому что это просто вызов прямых API C), что модуль nltk не может быть найден с помощью любой формы python. Но интерпретатор находит это в порядке. RubyPython, однако, не может.

Я также пытался заставить RubyPython использовать python2.7, но никаких изменений.

Что мне не хватает?

  • 1
    Попробуйте распечатать путь. Что вы получаете? Я не уверен насчет RubyPython, но в Python это будет import sys; print sys.path . Проверьте, где установлен nltk, и отображается ли этот путь в sys.path в RubyPython. Если нет, добавьте его в sys.path или в ваш $ PATH или $ PYTHONPATH.
  • 0
    Да, я понял это вчера, но не смог опубликовать ответ. По какой-то причине RubyPython использовал другой путь. Я импортировал путь, добавил к нему местоположение NLTK и до этого все заработало.
Теги:
nltk
rubypython

1 ответ

1
Лучший ответ

Это просто! По какой-то причине RubyPython искал не то место для моих модулей Python. Это было подтверждено путем импорта sys как в скрипте RubyPython, так и в Python и сравнении sys.path. Я закончил тем, что исправил его, взяв список путей sys в скрипте Ruby и добавив, что не было на чистом пути Python. Тогда я мог бы загрузить NLTK.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню