2

我一直在努力研究**(s)** 一个可以使用 Python 开发 Web 应用程序的人。作为参考,我们使用的是 RHEL 64bit、apache、mod_wsgi。

历史:

  1. PHP + MySQL几年前
  2. PHP + Python 2.x + MySQL最近和当前
  3. Python + PostgreSQL正在处理它

我们使用一个很棒的库在 PHP 和 Python 之间进行通信(PHP 中的接口,Python 中的后端)......但是,随着即将开始的更大项目,使用 100% python 可能非常有利。

我们通常不希望有一个单一的框架来指示事情是如何完成的。一组有用的帮助程序和实用程序是首选(无论是 PHP 还是 Python)。

问题一:

在阅读经验丰富的 Python 用户的许多答案时,我看到Werkzeug多次推荐。如果几个有直接使用 Werkzeug 开发专业 Web 应用程序的经验的人可以评论(尽可能详细地了解他们的手指感觉)他们为什么使用它,为什么喜欢它,以及任何需要注意的事情,我会很高兴。

问题2:

是否有支持 Python 3.1.1 的 Werkzeug 版本。我已经使用 Python 3.1.1 在 Apache 2.2 上成功安装了mod_wsgi 。

如果没有版本,升级它以在 Python 3.1 上工作需要什么?

注意:我已经2to3在 Werkzeug 源代码上运行,它没有 python-compile

编辑:

我们正在启动的项目要到近一年后才能完成。在这一点上,我猜 Python 3.X 会更加主流。此外,考虑到我们正在运行应用程序(而不是分发它),任何人都可以评论现在解决一些 Python 3 问题的可行性,这样当一年后到来时,我们或多或少已经存在?

想法赞赏!

4

3 回答 3

3

Python 3.x 的 mod_wsgi 也没有准备好。Python 3.x 的 WSGI 还没有令人满意的定义;WEB-SIG 仍在抨击这些问题。mod_wsgi 的目标是猜测其中可能包含的内容,但很有可能对规范和标准库进行更改。您今天使用 Python 3.1 编写的任何 Web 应用程序都可能在未来出现故障。

这有点混乱。今天,对于 webapps,你只能实际使用 Python 2.x。

于 2009-10-06T14:29:19.733 回答
1

我只能回答问题一:

我开始将它用于一些小型网站,但现在开始使用它重新设计更大的应用程序。为什么选择 Werkzeug?模块化概念真的很有帮助。您可以根据需要挂接模块,使内容易于上下文感知,并且您可以免费获得良好的请求文件处理,无需将其存储在内存中即可处理 300mb+ 文件。

缺点...好吧,有时模块化需要一些预先考虑(django f.ex. 一次性为您提供所有内容,但在那里很难做到这一点)但对我来说它工作得很好。

于 2009-10-25T23:45:30.633 回答
1

我没用过Werkzeug,所以只能回答问题2:

不,Werkzeug 不适用于 Python 3。事实上,到目前为止,很少有人在 Python 3 上工作。移植并不难,但是要等到你所有的第三方库都被移植之后才能移植,所以进度很慢。

一个很大的障碍是 setuptools,这是一个非常流行的软件包。Setuptools 未维护,但有一个维护的分支,称为 Distribute。就在一两周前,Distribute 发布了 Python 3 支持。我希望对 Python 3 的包支持现在能够得到支持。但是,在任何像 Werkzeug 这样的大型项目被移植到 Python 3 之前,仍然需要很长时间,至少几个月,可能一年左右。

于 2009-10-06T06:36:32.603 回答