1

我已经开始通过使用 Python 3.1 和 py-PostgreSQL 编写一个小型应用程序来学习 Python。现在我想把它变成一个网络应用程序。

但是好像web-py、Django、zope等大部分框架还是基于Python 2.x。不幸的是,py-PostgreSQL 与 Python 2.x 不兼容。

我是否必须重写我的所有类并用 web-py 等支持的东西替换 py-PostgreSQL,或者是否有与 Python 3.1 兼容的框架?

或者也许 py-PostgreSQL 与 2.x 兼容,但我没弄明白?

4

4 回答 4

3

更新:这个答案在 2011 年已经过时了。

除非您有兴趣在尝试学习 Python 的同时开辟新道路,否则我建议您将项目转换为 Python 2.x。py-postgresql希望您的代码不会使用在广泛支持的 DB-API 接口中找不到的太多功能。

您应该查看psycopg2Python 2.x DB-API 兼容接口,或者如果您想获得更高级别SQLAlchemy的 svn 版本中可以使用psycopg2py-postgresql互换的接口。

您可能还对3to2感兴趣,它会在可能的情况下自动将 Python 3.x 代码转换为 Python 2.x 代码。

重复#373945 哪些 Web 开发框架支持 Python 3?

于 2009-09-17T17:08:02.547 回答
1

我刚刚发现了 WSGI:一个 WSGI 兼容的应用程序也可以用 Python 3.1 编写。以下代码在 Python 3.1 中运行良好:

def webapp(environment, start_response):
    start_response('200 OK', [('content-type', 'text/html')])
    return ['Hello, World!']

if __name__ == '__main__':
    from wsgiref import simple_server
    simple_server.make_server('', 8080, webapp).serve_forever()

WSGI 网站有很多指向框架的指针。Bottle 框架声称“ Bottle 使用 Python 2.5+ 和 3.x(使用 2to3)运行”,所以我会尝试一下。

于 2009-09-18T07:48:22.120 回答
0

尽管它还没有正式发布,但我目前正在用 Python 3.1.1 使用 CherryPy 3.2.0rc1 并且还没有遇到任何问题。没有将它与 py-postgresql 一起使用,但我不明白为什么它不应该工作。

希望这会有所帮助,艾伦

于 2009-12-20T03:27:16.940 回答
0

这是在 python 3 中实现的龙卷风 WSGI 服务器的简化版本。

http://code.activestate.com/recipes/576906/

可能有一些错误,但可以让你开始

于 2009-09-19T13:15:46.463 回答