pythonweb-applicationspythonanywhereonline-compilation

looking for a tool that allows in-browser python


I am developing an application in python that involves a lot of plots and user interactions. I do not want my clients to have to download anything to use the app. So I was looking for an online tool that would allow users to run the script to use it (they should not be running it via the terminal or anything that would require them to have python or download anything) or even have the application on the web such that only those allowed could access it. I have looked into Skulpt, pythonanywhere, and Django. They either do not support GUI libraries such as Tkinter or I am not sure if they are meant for this purpose. Can you guys help me out here? Thank you!


Solution

  • You are not going to be able to create an application in Python that the end user will use without requiring the user to download SOMETHING. The best you can get trying to do that would be something like Skulpt, like you said. However, the GUI libraries you seem to be interested in assume that you're running locally on a system, not in a browser.

    Your best bet is going to be to create a python application like normal, then have the user run it by downloading an exe (or binary for other platforms you wish to support) that has been packaged together using something like cx_Freeze, py2app, py2exe or pyinstaller. These libraries will help you bundle your custom code, any libraries (like Tkinter), and Python itself into one executable package so the user can run it without needing to install anything beforehand. Of course, users might be hesitant to just run an .exe from your website.

    Another option is to choose something other than Python. In order to make it a zero-install-required, in-browser solution, consider looking for Javascript or Flash libraries that you can use to replace the things you want in Python like Tkinter. If you really want in-the-browser, then Python is not the right tool for the job.