13

広く使用されている「ほぼすべて」の Python ライブラリが Python 3.0 で動作するようになるまでに、どれくらいの時間がかかるか、誰か考えている人はいますか?

移植を開始したくないので、しばらく 2.X にとどまる予定です。その後、既に依存しているライブラリや、使用を開始する可能性のある新しいライブラリが py3k でまだ機能しないことがわかります。

私の理解では、py3k ベータ プロセスは、ライブラリ開発者が自分たちのものを移行する時間を与えるために特別に引き出されたということです。これは起こっていますか?

私が話している種類のライブラリの例は、PIL、numpy/scipy、SQLAlchemy、BeautifulSoup、CherryPy などです。

4

7 に答える 7

4

あなたがリストした例は、非常に広く使用されているため、おそらく非常に迅速に移植されます。

BeautifulSoupに1か月以上かかる場合は驚きます(実際、py3kベータ版を使用して移植されていないことに驚いています)。特に2to3はPythonでのみ機能するため、numpyなどのより複雑なものにはさらに時間がかかる可能性があります。 Cモジュールではなくソース。

一般化するのは難しいです-いくつかのモジュールは移植されないかもしれません、いくつかは数日かかるかもしれません、他は何年もかかるかもしれません。「ライブラリをPython3に移植していない、誰も使用していない!」/「プロジェクトをpython3に移植していない、ライブラリがまだ更新されていない」という状況になる可能性があります。 "、しかし私はそうしないことを望みます!

于 2008-10-04T16:32:40.493 に答える
4

実際、あなたの質問への回答は、非常に多くの異なる人々(Python std libの外部にあるライブラリのすべてのメンテナ)の行動に依存しているため、誰もあなたの質問に信頼できる答えを与えることはできないと思います。

そうは言っても、あなたはすでにいくつかの答えを持っています、そしてあなたはもっと多くを持っているでしょう。ただし、経験則として、重要なプロジェクト(主に作業に関連する)を新しい開発テクノロジ(Python 3、.Net 3.xなど)にすぐに移植しないことをお勧めします。あなたの答えはすでに答えられており、初期のバグの多くは解決されています。

ただし、ペットやテストプロジェクトの場合は、更新と実験に全力で取り組んでいます。

于 2008-10-04T17:37:45.603 に答える
1

CherryPyリポジトリで私が見たいくつかのコメントは、ソケットモジュールへの変更のいくつかはロジックの大規模な作り直しを必要とするだろうということです。CherryPyは、他のいくつかのプロジェクトよりも3.0に移植されるのが遅くなると思います。

于 2008-10-04T17:20:24.670 に答える
1

Adrian (django の BFDL) が、Guido が移植までに 5 年の期間を与えたと言ったのを覚えています。

于 2009-04-02T12:48:58.683 に答える
1

移行計画の一般的な考え方は、2.x にとどまり、ゆっくりとコードを 3.x に変更することです。少なくとも1.5​​ 年は心配する必要があります。もちろん、鶏が先か卵が先かという問題もあります。

于 2008-10-05T14:02:10.060 に答える
0

あなたが言及したライブラリは、誰かがそれらの移植に真剣な時間を費やすと移植されます。

NumPy / SciPyの特定のケースでは、コードの大部分がC拡張として記述されています。C拡張機能用の2to3ツールはないため、cPython3C拡張機能が使用する必要のある形式にコードを移植するには膨大な工数がかかります。

于 2009-04-02T16:42:57.287 に答える
0

2013 年 5 月 1 日の時点で、あなたが言及したすべてのライブラリが Python 3 をサポートするようになりました。

移植作業は徐々に進行中です。Django などのいくつかの主要なライブラリは、かなり最近移植されました。

于 2013-05-31T15:03:41.063 に答える