lua-to-exeis part of theluaToEXEproject suite.
lua-to-exe provides a Python library for packaging .lua files into standalone .exe executables.
- The conversion process is powered by
srlua. - Platform limitation: Windows 32/64-bit.
- Supports multiple Lua versions.
The generated executable files can run without any external DLLs. - Includes a GUI interface implemented with Tkinter.
Install via pip:
pip install lua-to-exe.../lua_to_exe/
__init__.py
lua_to_exe.py
srlua/
5.1.5-64/
srlua.exe
srglue.exe
5.4.6-64/
srlua.exe
srglue.exe
...
You can provide multiple Lua interpreter versions under the
srluadirectory.
import lua_to_exe # Note: use underscore, not `-`Default conversion (using Lua 5.1.5-64)
lua_to_exe.lua_to_exe("hello.lua", "hello.exe")Specify Lua Version
lua_to_exe.lua_to_exe("hello.lua", "hello.exe", lua_version="5.4.6-64")- The
lua_versionparameter is optional. - If not specified,
"5.1.5-64"is used by default. - The value must match a valid subdirectory under
srlua/.
versions = lua_to_exe.all_available()
print(versions) # Example output: ['5.1.5-64', '5.4.6-64']Launch the GUI:
lua_to_exe.gui()Features:
- Select the Lua script and output EXE path.
- Choose the Lua version (from available versions).
- View tool and Lua version info in the window.
- One-click conversion with status feedback.
Converts a .lua file into a standalone .exe executable.
lua_file(str): Path to the input Lua script.exe_file(str): Path for the output exe file.lua_version(str, optional): Name of the Lua runtime folder, must exist undersrlua/.- Raises
RuntimeErroron error.
Returns a list of all available Lua versions (i.e., those with both srlua.exe and srglue.exe present).
Launches the graphical interface for interactive conversion.
- Only supports Windows 64-bit.
- Each
srlua/<version>/subdirectory must contain bothsrlua.exeandsrglue.exefor that version. - The available Lua versions are determined by the actual subfolders under
srlua/. - If no version is available, conversion will not be possible.
import lua_to_exe
# List all available Lua versions
print(lua_to_exe.all_available())
# Convert hello.lua to hello.exe using default Lua version
lua_to_exe.lua_to_exe("hello.lua", "hello.exe")
# Convert using a specific Lua version
lua_to_exe.lua_to_exe("hello.lua", "hello.exe", lua_version="5.4.6-64")
# Launch the graphical interface
lua_to_exe.gui()