From: Kefu Chai Date: Thu, 2 Jul 2015 16:44:10 +0000 (+0800) Subject: ceph-detect-init: do not require argparse on py2.7 X-Git-Tag: v9.1.0~478^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=f11a3a5c2fc89810f3723299e516c527b07e9098;p=ceph.git ceph-detect-init: do not require argparse on py2.7 argparse is included in python2.7 and up, and pkg_resources is not able to find it by .egg-info. so we should not list it as "requires" if python's version is greater or equal to 2.7. Fixes: #12167 Signed-off-by: Kefu Chai --- diff --git a/src/ceph-detect-init/setup.py b/src/ceph-detect-init/setup.py index 8554d096d37..dea9637d60a 100644 --- a/src/ceph-detect-init/setup.py +++ b/src/ceph-detect-init/setup.py @@ -19,6 +19,7 @@ # along with this program. If not, see ``. # import os +import sys from setuptools import setup from setuptools import find_packages @@ -27,6 +28,15 @@ def read(fname): f = open(path) return f.read() + +def filter_included_modules(*m): + modules = sum(m, []) + if sys.version_info[0] == 2 and sys.version_info[1] <= 6: + return modules + included_modules = set(['argparse', 'importlib', 'sysconfig']) + return list(set(modules) - included_modules) + + install_requires = read('requirements.txt').split() tests_require = read('test-requirements.txt').split() @@ -43,11 +53,9 @@ setup( keywords='ceph', url="https://git.ceph.com/?p=ceph.git;a=summary", - install_requires=[ - 'setuptools', - ] + install_requires, - - tests_require=tests_require, + install_requires=filter_included_modules(['setuptools'], + install_requires), + tests_require=filter_included_modules(tests_require), classifiers=[ 'Environment :: Console',