2010-12-13 4 views
7

가능한 중복 :
best way to integrate erlang and python파이썬에서 어떻게 erlang을 호출 할 수 있습니까?

는, 내가 그렇게 할 수있는 방법, 파이썬에서 얼랑 프로그램을 호출해야 얼랑의 몇 가지 강력한 기능을 사용하려면? 감사합니다 ~

+0

해결하려는 문제에 대한 설명을 제공 할 수 있습니까? 나는 Erlang 애플리케이션이 Python 애플리케이션에 의해 관리되는 유효한 유스 케이스를 생각하기 위해 애 쓰고있다. 어떤 강력한 기능을 언급하고 있습니까? – dsmith

답변

8

Erlang에서는 외부 프로그램에 대한 바이트 지향 인터페이스를 제공하는 포트를 사용하여 외부 세계와 통신 할 수 있습니다.

Erlang 포트 프로토콜을 구현하는 파이썬 라이브러리 인 erlport을 살펴볼 수도 있습니다.

+0

내가 erlang에서 파이썬을 호출하는 방법을 찾았지만 erlang fron python을 호출하는 방법을 모른다. erlport에서도 erlang에서 파이썬을 호출하는 방법 만 제공한다. – Suge

+0

좋습니다. 시도 할 수있는 또 다른 것은 "runerl"명령을 사용하여 Erlang Virtual machine을 데몬으로 실행하는 것입니다. 이렇게하면 "/ tmp"에 읽기 및 쓰기 목적으로 두 개의 파이프가 생성됩니다 (erlang.pipe.1.r 및 erlang.pipe.1.w). 파이썬을 사용하면 (erlang 명령 행에서 사용하는) 명령을 명명 된 파이프에 쓸 수 있으며, VM은이를 실행하고 읽기 전용 파이프에서 출력을 가져올 수 있습니다. 희망이 당신이 필요합니다. – Arunmu

3

BERT-RPC을 살펴보십시오. remote procedure calls을 수행하고 전송하고 데이터 (스트리밍 포함)를 요청할 수 있습니다. 파이썬을 포함한 일부 언어에 대한 다양한 라이브러리를 찾을 수 있습니다.

귀하의 경우에는 ernie을 사용하여 erlang 서버를 설정하고 python-bertrpc 클라이언트를 통해 통신 할 수 있습니다. 두 프로젝트 모두 문서화되어 있습니다.

1

대부분 HTTP를 통해 JSON을 사용합니다. 어떤 경우에는보다 강력한 메시징 프로토콜 (예 : RabbitMQ의 AMQP)을 사용하고 싶지만 Python이 Erlang 배포 프로토콜을 직접 말하는 좋은 이유는 거의 없습니다. 때로는 성능이 조금 더 중요 할 때 erlport를 사용하여 JSON 대신 일을 직렬화합니다.

관련 문제