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

但似乎大多数框架如web-py,django,zope仍然基于Python 2.x.不幸的是,py-postgresql与Python 2.x不兼容。

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

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

有帮助吗?

解决方案

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

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

您应该查看 psycopg2 以获取Python 2.x DB-API兼容接口,或者如果您想要更高级别 SQLAlchemy 在svn版本中可以互换地使用 psycopg2 py-postgresql

您可能也对 3to2 感兴趣,它会自动转换Python 3.x尽可能使用Python 2.x代码编写代码。

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

其他提示

我刚刚发现了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框架声称“使用Python 2.5+和3.x(使用2to3)运行瓶子”所以我会尝试一下。

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

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

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

即使它尚未正式发布,我目前正在使用带有Python 3.1.1的CherryPy 3.2.0rc1进行游戏,并且还没有遇到任何问题。没有使用它与py-postgresql,但我不明白为什么它不应该工作。

希望这有帮助, 艾伦

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top