如何从Ruby调用Python代码?
有没有简单好用的Ruby和Python之间的桥接工具?还是说我直接用system()会更好?
5 个回答
2
我觉得要在Ruby中调用Python,基本上只能通过创建一个新进程来实现,比如用system()这样的方式。因为这两种语言的运行环境完全不同,所以它们必须在不同的进程中运行。
6
使用命令 gem install rubypython
来安装一个叫做 rubypython 的工具。
你可以访问 rubypython 的主页,了解更多信息。
6
你可以试试 Masaki Fukushima的库,这个库可以让你在Ruby中嵌入Python,虽然看起来这个库已经不再维护了,使用效果可能会有所不同。
使用这个库,你可以让Ruby脚本直接调用任意的Python模块。无论是扩展模块还是用Python写的模块都可以使用。
还有一个有趣的库叫 Unholy,是聪明的Why the Lucky Stiff做的,可能也会对你有帮助:
这个库可以把Ruby代码编译成Python字节码。
而且,还可以把这个字节码
转换回Python源代码,使用的是Decompyle(这个工具是包含在内的)。需要Ruby 1.9和Python 2.5。