使用Elixir,erlport和Python 2.7.9,收到arity错误

时间:2015-04-27 08:23:22

标签: python elixir arity beam

我正在尝试使用Python和Elixir,我编写了以下功能代码(你可以在这里找到我正在建立的回购:https://github.com/arthurcolle/elixir_with_erlport

vbar

我可以运行-$hbar,然后输入Snake.py,我会得到这个输出:

[expr {-$hbar}]

好的,太棒了。

然后我尝试通过交换上面的两行来打印出当前版本的Python:

defmodule Snake do use Application def start(_type, _args) do import Supervisor.Spec, warn: false children = [ # Define workers and child supervisors to be supervised # worker(Snake.Worker, [arg1, arg2, arg3]), ] opts = [strategy: :one_for_one, name: Snake.Supervisor] Supervisor.start_link(children, opts) end def py do {:ok, pp} = :python.start() :python.call(pp, :__builtin__, :print, ["hey there"]) end end

但是当我运行它时,它给了我这个arity错误

iex -S mix run

这对我没有任何意义,因为我的电话只有:erlport.call/4,最后有一个单独的列表(不是2,因为它说)。

1 个答案:

答案 0 :(得分:2)

{:ok, pp} = :python.start_link()
:python.call(pp, :sys, String.to_atom("version.__str__"), [])