Я знаю, что есть параметр --target-version = 2.6 для setup.py, который можно использовать с загрузкой, но, похоже, это не означает «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, так что если вам повезет easy_installможет обнаружить, что требование удовлетворено.Если нет, он, вероятно, попытается загрузить из PyPI, так что ...
Я мог бы сделать что-то подобное в setup.py для 'foo 0.2.0': if sys.hexversion <0x02060000:поднять RuntimeError («Для этого пакета требуется Python 2.6 или более поздней версии, попробуйте foo 0.1.7») </p>
На самом деле это текущая распространенная идиома.Кроме того, использование классификаторов «Programming Language :: Python :: XY» даст людям информацию (я не знаю ни одного инструмента, использующего эту информацию).
В ближайшем будущемэто надеждаСпецификация для метаданных дистрибутивов Python была обновлена, и последняя версия содержит поле, требующее конкретной версии Python: http://www.python.org/dev/peps/pep-0345/#requires-python
Относительно поддержки инструмента: distutils заморожен и не будет его поддерживать, setuptools можетили может не добавить поддержку, его дистрибутив форка, вероятно, получит поддержку, а distutils2 / packaging уже поддерживает его.distutils2 включает в себя базовый установщик pysetup, который должен учитывать поле Require-Python (если нет, сообщите об этом на bugs.python.org).
Теперь, чтобы решить вашу проблему прямо сейчас, вы можете сделать один изэти вещи: - объявить, что ваш проект поддерживает только 2.6+; - документ, который требует, чтобы пользователи 2.4 указывали версию при загрузке (например, pip install "foo == 0.1.7")