在 Lua 程序中调用 Python 函数

我需要从 Lua 程序 main.lua 中调用 sum.py 中的 sum 函数,但是我得到了一个错误。

以下是 Python 程序:

#sum.py
def sum_from_python(a, b):
    return a + b

以下是 Lua 程序:

#main.lua
py = require 'python'
sum_from_python = py.import "sum".sum_from_python
print( sum_from_python(2,3) )

错误信息如下:

lua: main.lua:1: module 'python' not found:
    no field package.preload['python']
    no file '/usr/local/share/lua/5.2/python.lua'
    no file '/usr/local/share/lua/5.2/python/init.lua'
    no file '/usr/local/lib/lua/5.2/python.lua'
    no file '/usr/local/lib/lua/5.2/python/init.lua'
    no file '/usr/share/lua/5.2/python.lua'
    no file '/usr/share/lua/5.2/python/init.lua'
    no file './python.lua'
    no file '/usr/local/lib/lua/5.2/python.so'
    no file '/usr/lib/i386-linux-gnu/lua/5.2/python.so'
    no file '/usr/lib/lua/5.2/python.so'
    no file '/usr/local/lib/lua/5.2/loadall.so'
    no file './python.so'
stack traceback:
    [C]: in function 'require'
    main.lua:1: in main chunk
    [C]: in ?

我已经安装了 Lupa,但它似乎不起作用。请问我应该安装哪个包?谢谢。

点赞
用户2977292
用户2977292

据我了解,Lupa 是一个 Python 库,允许你在 Python 中运行 LUA 代码,但反之则不行。

如果你需要一个能在 LUA 中运行 Python 代码(反之亦然)的模块,你可能会对 Lunatic Python 感兴趣。

2017-03-22 13:42:47