我一直在使用Lupa 0.20 + LuaJIT 2.0.0将lua嵌入W7框中的python 2.7代码上。不幸的是,我无法使其在Mountain Lion Mac OS上运行。我可以编译LuaJIT和Lupa,但是每当尝试使用lupa时,都会出现类似以下错误:
lupa._lupa.LuaError: Failed to initialise Lua runtime
File "/Users/rafael/Projects/Lua/test.py", line 3, in <module>
lua = LuaRuntime()
File "/usr/local/lib/python2.7/site-packages/lupa/_lupa.so", line 116, in lupa._lupa.LuaRuntime.__cinit__ (lupa/_lupa.c:2237)
有什么技巧可以使其正常工作吗?
最佳答案
您不能将lupa x86_64与系统安装的python一起使用。 luajit 64位要求可执行文件(在这种情况下为python)已与-pagezero_size 10000 -image_base 100000000链接。
系统安装的python并非以这种方式链接,所以最好的选择是弄清楚如何在osx上构建32位luajit(无济于事),构建32位lupa(ARCHFLAGS =“-arch i386) “ python setup.py build),然后查看它是否对您有用。
或者,构建一个使用这些链接器标志的64位python。
编辑:实际上,lua51可以作为luajit的替代品。将lupa setup.py指向lua51发行版和库,然后像往常一样进行构建;为我工作。