原文:http://www.python.org/dev/peps/pep-0004/
PEP | 4 |
Title | Deprecation of Standard Modules |
Version | $Revision$ |
Last-Modified | $Date$ |
Author | Martin vonartin@v.loewis.de> |
Status | Active |
Type | Process |
Created | 1-Oct-2000 |
Post-History |
過去に標準Pythonライブラリに加えられたモジュールが、将来に渡って有益であると予見することは不可能です。Pythonが”バッテリー内蔵”だとしても、バッテリーは時間と共に放電していきます。古いモジュールを抱えていることはメンテナにとって重荷となります。特に誰もそのモジュールにもはや興味を持っていないときは。
また、配布物からモジュールを取り除くこと、誰かがそれを使っているかもしれないため、難しいです。このPEPでは、標準Pythonライブラリからモジュールを取り除くための手続きについて述べます。モジュールの使用は’廃止(deprecated)’となる可能性があり、これは将来のPythonリリースで取り除かれる可能性があることを意味します。このPEPでは、廃止のための論理的根拠についても述べていきます。もしもこの根拠が間違っていた場合、そのモジュールは’廃止から復帰(undeprecated)’となる可能性があります。
モジュールの廃止状況はこのPEPで記録されているため、廃止が提案されたモジュールはこのPEPの変更として提供されなければなりません。変更は、SourceForgeへのパッチか、このPEPの著者へのメールで行われるべきです。
いくつかのモジュールはライブラリ文書ですでに廃止と記されています。以下にその完全なリストを記します。
cl, sv, timing
これらのモジュールすべてはPython 2.0かそれより前に古い形式と宣言されています。
以下の廃止済みモジュールは Python 2.5で取り除かれました。
addpack, cmp, cmpcache, codehack, dircmp, dump, find, fmt,grep, lockfile, newdir, ni, packmail, Para, poly,rand, reconvert, regex, regsub, statcache, tb, tzparse,util, whatsound, whrandom, zmod
以下のモジュールはPython 2.6で取り除かれました。
gopherlib, rgbimg, macfs
以下のモジュールは廃止警告がない状態です。
rfc822, mimetools, multifile
モジュール名 | posixfile |
根拠 | fcntl.lockf()によるより良いロック |
日付 | Before 1-Oct-2000. |
説明 | 廃止とすでに文書化済みPython 2.6にてDeprecation の警告を追加 |
モジュール名 | gopherlib |
根拠 | Gopherプロトコルはもう使用しているユーザがいないため |
日付 | 1-Oct-2000. |
説明 | Python 2.5から廃止と文書化Python 2.6から廃止 |
モジュール名 | rgbimgmodule |
根拠 | 2001-04-24の c.l.py への投稿で、Jason Petroneがこのモジュールをたまに使うと述べた。2003-11-19以降他のどんな参照も行われなかったため |
日付 | 1-Oct-2000 |
説明 | Python 2.5から廃止と文書化Python 2.6から廃止 |
モジュール名 | pre |
根拠 | 基本的なPCREエンジンがUnicodeをサポートせず、Python 1.5.2.からメンテナンスされていないため |
日付 | 10-Apr-2002 |
説明 | 実装の詳細に触れているだけで、全体について触れられていませんでした。この記述は今は取り除かれました |
モジュール名 | whrandom |
根拠 | このモジュールの初期seedは安全でない場所から継承され計算されていました。randomモジュールを代わりに使ってください |
日付 | 11-Apr-2002 |
説明 | このモジュールはPython 2.1以降廃止とされていましたが、このPEPには記述されていませんでした。廃止の警告は Python 2.3がリリースされたあと1年後に加えられ、さらに一年後に削除されます |
モジュール名 | rfc822 |
根拠 | Python 2.2のE-mailパッケージで置き換わられました。 |
日付 | 18-Mar-2002 |
説明 | Python 2.2.2から、「リリース2.3で廃止予定」と文書化 |
モジュール名 | mimetools |
根拠 | Python 2.2のE-mailパッケージで置き換わられました。 |
日付 | 18-Mar-2002 |
説明 | Python 2.2.2から、「リリース2.3で廃止予定」と文書化 |
モジュール名 | MimeWriter |
根拠 | Python 2.2のE-mailパッケージで置き換わられました。 |
日付 | 18-Mar-2002 |
説明 | Python 2.2.2から、「リリース2.3で廃止予定」と文書化。Python 2.6ではDeprecationWarningが起こります |
モジュール名 | mimify |
根拠 | Python 2.2のE-mailパッケージで置き換わられました。 |
日付 | 18-Mar-2002 |
説明 | Python 2.2.2から、「リリース2.3で廃止予定」と文書化。Python 2.6ではDeprecationWarningが起こります |
モジュール名 | rotor |
根拠 | 安全でないアルゴリズムを使っていたため |
日付 | 24-Apr-2003 |
説明 | Python 2.4のライブラリリファレンスから取り除かれました |
モジュール名 | TERMIOS.py |
根拠 | このモジュール内の定数が’termios’モジュールに移動 |
日付 | 10-Aug-2004 |
説明 | このモジュールはPython 2.1から廃止と文書化されていましたがこのPEPに記述されていませんでした。Python 2.4以降標準ライブラリから取り除かれています |
モジュール名 | statcache |
根拠 | このキャッシュを使うことは壊れやすく不安定になる傾向があるos.stat()を直接使うべきである |
日付 | 10-Aug-2004 |
説明 | このモジュールはPython 2.2から廃止と文書化されていましたがこのPEPに記述されていませんでした。Python 2.5以降標準ライブラリから取り除かれています |
モジュール名 | mpz |
根拠 | サードパーティのパッケージが似た機能を提供しておりGMPのAPIをよりよく包含しているため |
日付 | 10-Aug-2004 |
説明 | このモジュールはPython 2.2から廃止と文書化されていましたがこのPEPに記述されていませんでした。Python 2.4以降標準ライブラリから取り除かれています |
モジュール名 | xreadlines |
根拠 | 2.3で導入された’for line in の形式が望ましいため |
日付 | 10-Aug-2004 |
説明 | このモジュールはPython 2.3から廃止と文書化されていましたがこのPEPに記述されていませんでした。Python 2.4以降標準ライブラリから取り除かれています |
モジュール名 | multifile |
根拠 | Eメールパッケージによって置き換えられた |
日付 | 21-Feb-2006 |
説明 | Python 2.5にて廃止と文書化 |
モジュール名 | sets |
根拠 | Python 2.4で導入された組み込みのset/fronzensetによって置き換えられた |
日付 | 12-Jan-2007 |
説明 | Python 2.6にて廃止と文書化 |
モジュール名 | buildtools |
根拠 | 不明 |
日付 | 15-May-2007 |
説明 | Python2.3で廃止と文書化されていましたが、このPEPへの記述は無視されていました。Python 2.6ではDeprecationWarningが起こります |
モジュール名 | cfmfile |
根拠 | 不明 |
日付 | 15-May-2007 |
説明 | Python2.4で廃止と文書化されていましたが、このPEPへの記述は無視されていました。Python 2.6ではDeprecationWarningが起こります |
モジュール名 | macfs |
根拠 | 不明 |
日付 | 15-May-2007 |
説明 | Python2.3で廃止と文書化されていましたが、このPEPへの記述は無視されていました。Python 2.6ではDeprecationWarningが起こります |
モジュール名 | md5 |
根拠 | ‘hashlib’モジュールで置き換わられました。 |
日付 | 15-May-2007 |
説明 | Python2.5で廃止と文書化されていましたが、このPEPへの記述は無視されていました。Python 2.6ではDeprecationWarningが起こります |
モジュール名 | sha |
根拠 | ‘hashlib’モジュールで置き換わられました。 |
日付 | 15-May-2007 |
説明 | Python2.5で廃止と文書化されていましたが、このPEPへの記述は無視されていました。Python 2.6ではDeprecationWarningが起こります |
モジュール名 | plat-freebsd2/IN and plat-freebsd3/IN |
根拠 | Platforms are obsolete (last released in 2000)Removed from 2.6 |
日付 | 15-May-2007 |
説明 | None |
モジュール名 | plat-freebsd4/IN and possibly plat-freebsd5/IN |
根拠 | プラットフォームが古く、サポートされていないため |
日付 | 15-May-2007Python 2.7で取り除かれました |
説明 | なし |
PEP 3108はPython3.0で取り除かれる全てのモジュールをリストアップしています。それらのモジュールはすべてPython 2.6で廃止と文書化されており、-3フラグが有効になっている場合に、DeprecationWarningを発行します。