PEP 4: 標準モジュールの廃止

原文: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で取り除かれました
説明 なし

Python 3.0で取り除かれるモジュール

PEP 3108はPython3.0で取り除かれる全てのモジュールをリストアップしています。それらのモジュールはすべてPython 2.6で廃止と文書化されており、-3フラグが有効になっている場合に、DeprecationWarningを発行します。

復帰したモジュール

なし

Local Variables:coding: utf-8End:

Table Of Contents

Previous topic

PEP 3: バグ報告の取扱いに関するガイドライン(廃止)

Next topic

PEP 5: 言語開発のガイドライン

This Page