我有一个 python 程序,我想将其作为一个简单的 Web 应用程序呈现。 该程序目前使用sqlite进行存储。 我还需要将整个东西分发给同事,因此拥有一些独立且易于启动的东西将是理想的(如果可能的话,无需安装)。 该网络应用程序旨在本地使用,而不是由网络上的多个用户使用。
有没有合适的Python框架可以满足我的需求? 到目前为止,我研究了 Django,但对于我所需要的东西来说,它似乎有点笨拙。
我自己从未尝试过,但你可以尝试一下Bottle:
Bottle 是一个快速、简单且轻量级的 WSGI 微型网络框架 Python。它作为单个文件模块分发,并且没有 Python 标准库以外的依赖项。
由于 Web 框架不是标准库的一部分,因此您在每种情况下都必须安装一些东西。我建议查看 http://flask.pocoo.org/。它有一个内置的 WSGI 服务器。
Tornado 作为一个框架可能比您正在寻找的要多得多。然而,它将满足成为完全基于 python 的 Web 服务器的要求。 http://tornadoweb.org
我通常只是下载源代码,将其放入我的项目的 /tornado/ 中,然后从应用程序中包含其中。
我不认为任何 Web 框架是专门针对您所讨论的用例的; 它们都假设它们正在服务器上运行,并且远程计算机上有一个浏览器正在访问它们。
更好的方法是考虑您将使用的 HTTP 服务器。 最好使用与您将使用的其余 Python 代码一样易于打包和运输的服务器。 现在,大多数框架都提供了一个“开发”服务器,可以轻松从命令行调用,但大多数框架都是为了“方便开发人员”,这通常意味着它们仅限于单个线程。 这不利于部署,因为单线程服务器总是感觉有点迟缓。
相比之下,CherryPy 脱颖而出,它提供了一个功能齐全的嵌入式服务器,可以轻松配置用于许多用例,并且默认情况下可与框架的其余部分一起使用。 可能还有其他的,但我没用过。