setuptoolsインストールスクリプト(setup.py
)を使用する場合は、必要なモジュールをテストし、インストールの依存関係リストを更新して、必要に応じてバックポートを追加します。
たとえば、collections.OrderedDict
クラスが必要だとします。ドキュメントには、Python 2.7で追加されたと記載されていますが、Python2.4以降で動作するバックポートが利用可能です。でsetup.py
クラスの存在をテストしますcollections
。インポートが失敗した場合は、要件リストにバックポートを追加します。
from setuptools import setup
install_requires = []
try:
from collections import OrderedDict
except ImportError:
install_requires.append('ordereddict')
setup(
# ...
install_requires=install_requires
)
OrderedDict
次に、同じテストを使用する必要があるコードで:
try:
from collections import OrderedDict
except ImportError:
# use backported version
from ordereddict import OrderedDict
またはpip
または他のインストールツールをeasy_install
使用zc.buildout
して、追加のライブラリを取得します。
最近追加されたコアライブラリの多くには、json
(と呼ばれるsimplejson
)argparse
、、sqlite3
(pysqlite
パッケージ、from pysqlite2 import dbapi as sqlite3
フォールバックとして使用)などのバックポートがあります。
それでもドキュメントを読む必要があります。Pythonのドキュメントは優れており、新しいモジュール、クラス、メソッド、関数、または引数については、追加されたPythonのバージョンでドキュメントに明示的に記載されています。