假设您有一位朋友知道如何根据您的说明键入python run.py(或双击它)。而已。朋友不知道apache或nginx是什么,但需要服务器web应用程序与我和其他朋友分享电影/音乐。
现在你要创建一个包含你的脚本的包,它将监听:8080并提供漂亮的web应用程序,如果10个或更多朋友同时访问音乐/博客/其他任何内容,则使用cherrypy进行线程处理。应用程序非常简单,可以用烧瓶制作。数据库是一个简单的sqlite3文件,没什么特别的。
这可以在python中完成吗?无需调用apache / nginx或配置文件或需要Web应用程序的用户(Web应用程序的所有者及其用户,不仅仅是将其放在某个地方的Web主机上以供“生产”使用,这不是“用于”的webapp生产“,它可供许多人在自己的计算机上使用”成为程序员或部署人员。
感谢。 “
修改
我使用cherrypy,只有一个runit.py启动了多线程服务器cherrypy,并提供静态文件。但后来我遇到了日志记录的问题,从它上面的几个应用程序和cherrypys自己的日志记录机制,大多数文档很糟糕。
所以现在,我用gunicorn做它。一个Web应用程序和一个runit.py,它与gunicorn和gevent一起提供服务。多数民众赞成......
答案 0 :(得分:0)
只要您的用户知道如何从网上下载内容,并且还可以输入“python setup.py install”,我不确定您预见到的其他障碍。在Windows上,如果使用python setup.py bdist_wininst
打包代码,可能会更简单。见http://docs.python.org/distutils/builtdist.html#creating-windows-installers
答案 1 :(得分:0)
您可能需要考虑尝试PyInstaller。确保使用CherryPy 3.如果您在Flask 0.8上运行应用程序时遇到问题,请尝试使用0.7版。
答案 2 :(得分:0)
假设你可以让你的朋友在他们的计算机上安装python,你不能只用你自己的代码和它捆绑的依赖关系做一个zip文件,类似于virtualenv如何将你的项目的依赖关系与全局关系隔离? / p>
如果您使用内置开发服务器,那么只需双击python文件即可启动网络服务器。