2

假设我有一些我想从我的 Python (Django) 应用程序中使用的 Ruby gem。我知道这不是最直接的问题,但让我们假设在 Python 中重写 Ruby gem 需要大量工作,我该如何使用它?

我应该使用 Rails 围绕它创建一个 XML-RPC 包装器并调用它吗?在 Python 中是否有类似 ruby​​ 的实现,我可以在其中运行我的 gem 代码?

还有其他我可能错过的方法吗?在我迷失在这个领域之前,我从来没有做过这样的事情。

谢谢

4

2 回答 2

7

我建议你:

  • 使用 REST 或 XML-RPC 公开一个 ruby​​ 服务。

或者

  • 使用 Django 编写一个 ruby​​ 脚本。

要在 Python 和 Ruby 之间传输数据,我建议您使用 JSON、XML 或纯文本(取决于您需要传输的数据类型)。

我建议使用选项 2(从 Python 进程启动 ruby​​ 脚本),因为这会为解决方案引入更少的移动部件。

于 2012-05-24T11:03:01.030 回答
3

这在一定程度上取决于您需要做什么。XML-RPC 建议已经提出。您实际上可以在 JVM 中一起使用它们,假设您可以接受使用 jython 运行 Django 并使用 jruby。但这是一项工作,可能值得,也可能不值得。

如果您准确描述 Ruby gem 是什么以及它应该解决什么问题,可能会更容易。您可能会得到可以帮助您完全避免问题的建议。

于 2012-05-24T12:11:41.493 回答