2012-01-06 98 views
3

我刚刚开始使用RubyPython,虽然文档说可以加载模块,但它没有任何示例或指示来做到这一点。Python模块与RubyPython

我已经在我的机器上安装了Python NLTK(如果它很重要),并且可以在从命令行运行Python时导入模块。

但是,我的印象是RubyPython gem安装了Ruby的另一个版本,即Ruby与Ruby交互(尽管我可能是错的)。

是否有需要安装NLTK的其他文件夹,或者我需要做什么以通过RubyPython从Ruby访问NLTK?

我已经确认RubyPython本身正确加载到Rails代码中。

我跑的代码只是

 
     RubyPython.start 
     import nltk 
     RubyPython.stop 

,我得到

 
undefined local variable or method `nltk' 

我不能创建标签RubyPython这就是为什么这篇文章不是标记为此类。

+1

我不知道这RubyPython,但是这不是从消息一个'ImportError'。我认为你应该使用不同的语法。 – 2012-01-06 21:10:28

+0

@larsmans - 你应该把它作为答案,我会接受它。我需要把它写成RubyPython.import(“nltk”)..谢谢 – pedalpete 2012-01-06 21:23:14

回答

3

正确的语法是:

RubyPython.start 
nltk = RubyPython.import("nltk") 
RubyPython.stop 

你也可以指定你想这样做要使用的Python解释器:

RubyPython.start(:python_exe => "python2.7") # Can also be a full path 
+0

感谢@ free-dom,有没有你见过的任何地方记录过的例子或者在RubyPython中使用nltk的例子?我还没有拿出任何东西 – pedalpete 2012-01-06 21:36:10

+1

我没有看到太多关于nltk的具体内容,但是我没有理由认为它在RubyPython中表现不好。你只需要记住“rubify”从你调用的python方法返回的任何字符串,它应该都可以正常工作。使用RubyPython的最好的例子在这里:http://rubypython.rubyforge.org/,但你现在可能已经看到了。 – apiguy 2012-01-07 05:39:37