Is it possible to serve a dynamic (with static files) web app in python as a single package with no other dependencies?
Well assuming you can make your friends install python on their computer, couldn't you just do a zip file with your own code with its dependencies bundled with it, similarly to how virtualenv isolates your project's dependencies from the global ones?
If you use the builtin dev server, it would be as simple as them double clicking on the python file to boot the webserver.
Lets say you have a friend who knows how to type python run.py according to your instructions (or double click it). Thats it. The friend doesnt know what apache or nginx is, but needs to server the web application for sharing movies/music with me and other friends. 
Now you want to make a package containing your scripts which will listen on :8080 and serve the nice web application, using cherrypy for threading in case 10 or more friends access the music/blog/whatever at the same time. And the app is so simple it can be made in flask. The database is a simple sqlite3 file, nothing fancy. 
Can this be done in python? Without invoking apache/nginx or configuration files or requiring the user of the web app (owner of web app, and user of it, not just oh put it on a web host somewhere for "production" use, this is not a webapp for "production", its for use by many on their own computers) to be a programmer or deployment officer.
Thanks.
'
EDIT
I went with cherrypy, just one runit.py which fired up the multithreaded server of cherrypy, with static file serving. But then I got problems with logging, from both the several apps on it and cherrypys own logging mechanism, mostly the documentation sucks.
So now, im doing it with gunicorn. A web app and a runit.py which serves it with gunicorn and gevent. Thats fine...