Вызов Python из Ruby

У меня есть скомпилированная библиотека Python и документы API, которые я хотел бы использовать из Ruby.

Можно ли загрузить библиотеку Python, создать экземпляр класса, определенного в нем, и вызвать методы на этом объекте из Ruby?

5 Solutions collect form web for “Вызов Python из Ruby”

В этой статье приведены некоторые методы запуска Ruby-кода из Python, который также должен применяться в обратном направлении (например, XML-RPC или каналы), а также конкретные методы для запуска кода Python из Ruby. В частности rubypython или Ruby / Python выглядят так, как будто они могут делать то, что вы хотите.

Эта небольшая библиотека упрощает это: https://github.com/steeve/rupy

Похоже, вы хотели бы использовать что-то вроде Apache Thrift, которое позволяет вашему питону или вашему ruby-коду быть сервером / клиентом и звонить друг другу. http://thrift.apache.org/

Вы можете создавать объекты в рубине или на питоне на основе определения бережливости. Это пример с сайта бережливости.

struct UserProfile { 1: i32 uid, 2: string name, 3: string blurb } service UserStorage { void store(1: UserProfile user), UserProfile retrieve(1: i32 uid) } 

В основном ваш ruby ​​или python смогут вызвать store() и retrieve() и создать объекты UserProfile и т. Д.

Даже вы можете сделать эту работу, вы можете подумать, является ли это лучшим архитектурным выбором. Вы можете столкнуться со всякими версиями адских атак, пытаясь сохранить такого зверя.

Если вы действительно не можете найти эквивалентную библиотеку Ruby (или это большая инвестиция в Python, которую вы хотите использовать), рассмотрите возможность использования очереди (например, RabbitMQ) для реализации дизайна передачи сообщений. Затем вы можете сохранить свои биты Python Python и ваши Ruby-биты Ruby и не пытаться поддерживать среду сборки Frankenstein.

Вы в Windows? Не могли бы вы создать DLL или COM-объект из вашей библиотеки python и вызвать его с помощью Ruby Win32Api или Win32Ole ?

  • Изменения папки дорожки / изменения Dropbox
  • Использование JRuby / Jython для совместимости с Ruby / Python?
  • Есть ли эквивалент Python для Ruby's reply_to?
  • Ошибки при преобразовании скрипта Python в Ruby
  • Как я могу составить график истории строк для git repo?
  • Рубиновый эквивалент virtualenv?
  • Какова была бы альтернатива python для такой системы, как nanoc?
  • Python эквивалентен Ruby's #each_cons?
  • Насколько хорошо ваш язык поддерживает уникод на практике?
  • Какие инструменты используют веб-разработчики с PHP, Ruby on Rails, Python и т. Д.?
  • Python эквивалентен методу Ruby Array.each
  • Python - лучший язык программирования в мире.