Short version: Is it possible to create a standalone program that can be distributed to computers that don't have python installed, which writes a python script during runtime and executes it during or shortly after?
Long version: A project I've been wanting to do for a while is to create a visual programming interface, that lets people use Machine Learning without needing to know python/keras/numpy syntax. Programs like lobe or rapidminer already do this, but they are all bound to their own interfaces and servers. What i would like to do is create a program that:
- anyone can use without needing python/anaconda installed
- allow the user to create visual scripts like in scratch or google-blocs
- generates python code behind the scenes containing keras or tf code
- is able to execute the script
- is able to show the code to the user for:
- educational purposes
- allowing the user to use it as a base for a more complex program
Since the generation part would just need to create a text file almost any interface and language like python/java using Qt or C# / javascript using Unity, would qualify. I think that should definitely be doable, probably just very long, but that is not my largest concern.
The problem: I have tried to search everywhere on the internet about things like standalone python programs which led me to for instance py2exe. Those kind of python-to-exe's work great, but they all require the script to be compiled on a machine containing a python environment. In my case i want to be able to generate a python script on the user's PC, and run it directly after from there.
The alternative
If this isn't possible i might just create the whole AI part myself, not using python nor libraries like keras or tensorflow, but in a unity game for instance. The downside to this would be that it exists already(like rapidminer), it would be less optimized/versatile/customizable and doesn't show what the "real" machine learning script would look.
If there are any other alternatives i would be happy to hear them
PS.
I have mostly Python & Keras, moderate Java and little Unity3D or web JS experience
I'm using Windows with anaconda
Distributing to linux/mac would be nice, but not required


py2exeand friends package the Python interpreter, together with the needed subset of the libraries that are installed on your computer to do what they do. It follows that it has to be done on a machine where those libraries are installed. What you want isn't much different from wanting to make it possible to compile a program from source on the user machine, without the source being on the user machine..execontains everything it needs. Getting that right with complicated libraries likekeras(which bringsnumpyandscipyetc with it) may turn out to be a little easier said than done.