Принудительная версия Python в setup.py
В настоящее время мы устанавливаем \ устанавливаем некоторые пакеты в системе, указав их версию и зависимости в файле setup.py в атрибуте install_requires. Наша система требует Python 2.7. Иногда пользователи имеют несколько версий python, например 2.6.x и 2.7, некоторые пакеты, которые, по его словам, уже доступны, но фактически в системе, доступной в списке пакетов сайта 2.6. Кроме того, у некоторых пользователей есть только 2.6, как применять из setup.py или есть какой-то другой способ сказать, что он должен иметь только python 2.7, и все пакеты, которые мы хотим, чтобы setup.py обновлял, предназначены только для 2.7. Для запуска нашего кода требуется минимум 2,7 на машине.
Спасибо! Santhosh
2 ответа
Как setup.py
файл устанавливается через pip
(а также pip
запускается интерпретатором Python) невозможно указать, какую версию Python использовать в setup.py
файл.
Вместо этого взгляните на этот ответ на setup.py: ограничьте допустимую версию интерпретатора python, у которой есть базовый обходной путь для остановки установки.
В вашем случае код будет:
import sys
if sys.version_info < (2,7):
sys.exit('Sorry, Python < 2.7 is not supported')
Текущая лучшая практика (на момент написания статьи в марте 2018 года) заключается в добавлении python_requires
аргумент непосредственно к setup()
вызывать setup.py
:
from setuptools import setup
[...]
setup(name="my_package_name",
python_requires='>3.5.2',
[...]
Обратите внимание, что для этого требуются setuptools>=24.2.0 и pip>=9.0.0; см. документацию для получения дополнительной информации.