Tornado と Python 3.x
-
21-09-2019 - |
質問
本当に好きです 竜巻 これは Python バージョン 2.5 と 2.6 用に書かれていますが、Python 3 で使用したいと考えています。
残念ながら、プロジェクトのソースにはテストスイートが付属していないようです。私が正しく理解していれば、その WSGI 部分は仕様が準備ができていないため、移植するのはそれほど簡単ではありません。 Python 3はまだ(?), しかし、私はむしろ Tornado の非同期機能に興味があるので、WSGI との互換性は、たとえそれが良かったとしても私の主な関心事ではありません。
基本的に、移植しようとするときに何に調べるべきか/注意を払うべきか、またはすでにポート/フォークが存在するかどうかを知りたいです(Googleやブラウジングを使用しても何も見つかりませんでした) ギットハブ, 、何かを見逃しているかもしれませんが)。
解決
まず、私は時代遅れのトピックへの回答のために謝罪したいです、 私はグーグルでこのトピックを見つけたら、私は重要な情報を更新したい!
トルネード2.0でのPython 3.2のサポートを追加する!
https://github.com/facebook/tornado/blob/master/ setup.pyする
http://groups.google.com/group/python-竜巻/ browse_thread /スレッド/ 69415c13d129578bする
他のヒント
適切なテストスイートのないソフトウェアは、 レガシーソフトウェア -- たとえ昨日リリースされたとしても!-) -- したがって、最初の重要なステップは、テスト スイートの構築を開始することです。URL にある Feathers の本をお勧めしますが、以下から始めることもできます。 このPDF これもフェザーズによるエッセイで、本に先立って、本の主要な核となるアイデアと実践の 1 つを要約しています。
一度あなたが する テスト スイートを開始し、Python 2.6 で実行し、 -3
物事を警告するフラグ 2to3
つまずくかもしれません。それらが修正されたら、試してみましょう 2to3
Python 3 のテスト スイートを試してください。テスト スイートを強化し続ける必要があることは間違いありません。すべての改善点を上流の Tornado オープン ソース プロジェクトに定期的に送信することをお勧めします。これらのテストは次のような場合に役立ちます。 誰でも 結局のところ、Tornado を保守したり移植したりする必要があるのは、Python 3 に興味がある人だけではないため、運が良ければフォロワーを獲得し、テスト スイートへの貢献者が増えるかもしれません。
2009 年に人々が大規模なオープンソース プロジェクトをリリースしているなんて信じられません!!!、 それなし まともなテストスイートですが、これが本当にトルネーダーの仕業だと信じています...
トルネードの何かにわたって良好なWebフレームワークがあるツイストのように見えるの一種でなく、ねじれていていないバグ修正や機能。私は戻ってその本質的だけで削除されたコード中にねじれたのaにポートましたます。
これらの機能のいくつかは、の非常にの重要です。あなたはWSGIをやっている場合たとえば、あなたは、ノンブロッキングWebフレームワークを遮断しています。悪いことが起こるだろう。ツイストの非同期Webフレームワークはまた、WSGIコンテナを持っていますが、それは他の要求をブロックしないようにdeferToThread
を使用しています。まだアプリを拡張しないように正しい方法、それははるかにゆっくりと崩壊してしまう。