1

私はPython3.1とpy-PostgreSQLを使用して小さなアプリケーションを作成することからPythonの学習を始めました。それをWebアプリケーションに変えたいと思います。

しかし、web-py、Django、zopeなどのほとんどのフレームワークはまだPython2.xに基づいているようです。残念ながら、py-PostgreSQLはPython2.xと互換性がありません。

すべてのクラスを書き直して、py-PostgreSQLをweb-pyなどでサポートされているものに置き換える必要がありますか?それともPython 3.1と互換性のあるフレームワークがありますか?

あるいは、py-PostgreSQLは2.xと互換性がありますが、私はそれを理解していませんでしたか?

4

4 に答える 4

3

更新:この回答は2011年に古くなっています。

Pythonを学ぼうとしているときに新しい道を切り開くことに興味がない限り、プロジェクトをPython2.xに変換することをお勧めします。うまくいけば、あなたのコードはpy-postgresql、広くサポートされているDB-APIインターフェースにない多くの機能を使用していません。

Python 2.x DB-API互換のインターフェースを探す必要があります。または、svnリリースで使用できる、または互換的に使用できるpsycopg2高レベルに移行する場合もあります。SQLAlchemypsycopg2py-postgresql

可能であれば、Python3.xコードをPython2.xコードに自動的に変換する3to2にも興味があるかもしれません。

#373945の複製どのWeb開発フレームワークがPython 3をサポートしていますか?

于 2009-09-17T17:08:02.547 に答える
1

WSGIについて知りました。WSGI互換アプリはPython3.1でも記述できます。次のコードは、Python3.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 Webサイトには、フレームワークへのポインターがたくさんあります。ボトルフレームワークは「ボトルはPython2.5+および3.x(2to3を使用)で実行される」と主張しているので、それを試してみます。

于 2009-09-18T07:48:22.120 に答える
0

これは、Python3で実装されたtornadoのWSGIサーバーの簡略化されたバージョンです。

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

おそらくいくつかのバグがありますが、始めることができます

于 2009-09-19T13:15:46.463 に答える
0

まだ正式にリリースされていませんが、私は現在、Python3.1.1を使用してCherryPy3.2.0rc1で「遊んで」おり、まだ問題はありません。py-postgresqlで使用したことはありませんが、なぜ機能しないのかわかりません。

これがお役に立てば幸いです、アラン

于 2009-12-20T03:27:16.940 に答える