アップロードで使用できる setup.py の --target-version=2.6 オプションがあることは知っていますが、「2.6 以降」を意味するものではないようです。
これは実際には bdist_wininst または bdist_msi のオプションであり、実際には「以上」は含まれません。
setup コマンドには install_requires オプションがありますが、これは必要なパッケージ用であり、Python インタープリター用ではありません。
'Python >= 2.6' を install_requires に入れるとうまくいくかもしれません: Python 2.5 から 3.2 までは Python-blahblah-pyXY.egg-info ファイルを作成します。そうでない場合は、おそらく PyPI からダウンロードしようとするので、ええと...
'foo 0.2.0' の setup.py で次のようなことができます: if sys.hexversion < 0x02060000: raise RuntimeError('This package requires Python 2.6 or later, try foo 0.1.7')
これは実際に現在一般的なイディオムです。さらに、「Programming Language :: Python :: XY」のトローブ分類子を使用すると、人間に情報が提供されます (その情報を使用するツールは知りません)。
短期的な未来には、希望があります。Python ディストリビューション メタデータの仕様が更新され、最新バージョンには特定の Python バージョンを要求するフィールドが含まれています: http://www.python.org/dev/peps/pep-0345/#requires-python
ツールのサポートについて: distutils は凍結されており、サポートされません。distutils2 には pysetup と呼ばれる基本的なインストーラーが含まれており、これは Requires-Python フィールドを尊重する必要があります (そうでない場合は、bugs.python.org に報告してください)。
今すぐ問題に対処するために、次のいずれかを行うことができます: - プロジェクトが 2.6+ のみをサポートしていることを宣言する - 2.4 ユーザーがダウンロード時にバージョンを固定する必要があることを文書化する (例: pip install "foo==0.1.7" )