これsetup.py
は単純な Python コードなので、セットアップ スクリプトのソース コードで行うこととまったく同じことを行います。
ドキュメントには、3.x と 2.x のコードを実行するためにスイッチを入れる方法が示されsys.version_info
ていますが、2.7 と 2.6 のどちらでも同じように機能します。したがって、コードがこれを行っている場合:
if sys.version_info < (2, 7);
from ordereddict import OrderedDict
else:
from collections import OrderedDict
…そして、セットアップスクリプトはこれを行うことができます:
import sys
from setuptools import setup
extra_install_requires = []
if sys.version_info < (2, 7):
extra_install_requires.append('ordereddict>=1.1')
setup(
# ...
install_requires = [...] + extra_install_requires,
# ...
)
一方、コードがこれを行っている場合:
try:
from collections import OrderedDict
except ImportError:
from ordereddict import OrderedDict
…では、 を使用することもできversion_info
ますが、次のようにすることもできます。
extra_install_requires = []
try:
from collections import OrderedDict
except ImportError:
extra_install_requires.append('ordereddict>=1.1')
いずれにせよ、たとえばpip-2.5 install
このパッケージの場合、モジュールをダウンロードしてインストールしordereddict
ます (ユーザーが 1.1 以降を持っていない場合)。2.7 では、Anthying は実行されません。
ビルド済みの卵を配布しようとしている場合は、そうです。Python 2.6 と 2.7 では結果が異なります。たとえば、 の後python2.6 setup.py bdist_egg && python2.7 setup.py bdist_egg
は と にdist/Foo-0.1-py2.6.egg
なりdist/Foo-0.1-py2.7.egg
、両方を配布する必要があります。