diff --git a/setup.py b/setup.py index 3f9141045a73efa1e29397bc02eee462e1e153c8..aae72a1ab3cdbbf5d41da85390a1381ec91ab391 100644 --- a/setup.py +++ b/setup.py @@ -7,7 +7,7 @@ from setuptools import setup, find_packages setup( name='xbob.buildout', - version='0.2.12', + version='0.2.13', description="zc.buildout recipes to perform a variety of tasks required by Bob satellite packages", keywords=['buildout', 'sphinx', 'nose', 'recipe', 'eggs', 'bob'], url='http://github.com/bioidiap/xbob.buildout', diff --git a/xbob/buildout/python.py b/xbob/buildout/python.py index 89dd9c38a6076a5107cbaca34cf1653415a58466..76f5349d74171c46b7ee291fc999e7717be9afc2 100644 --- a/xbob/buildout/python.py +++ b/xbob/buildout/python.py @@ -18,6 +18,15 @@ from zc.buildout.buildout import bool_option import zc.buildout.easy_install from zc.recipe.egg import Scripts +# Standard prefixes to check +PYTHONDIR = 'python%d.%d' % sys.version_info[0:2] +SUFFIXES = tools.uniq([ + get_python_lib(prefix=''), + os.path.join('lib', PYTHONDIR, 'site-packages'), + os.path.join('lib32', PYTHONDIR, 'site-packages'), + os.path.join('lib64', PYTHONDIR, 'site-packages'), + ]) + # Python interpreter script template py_script_template = """#!%(interpreter)s # %(date)s @@ -77,9 +86,10 @@ class Recipe(Scripts): self.user_paths = [] if prefixes: for k in prefixes: - candidate = os.path.realpath(get_python_lib(prefix=k)) - if os.path.exists(candidate) and candidate not in self.user_paths: - self.user_paths.append(candidate) + for suffix in SUFFIXES: + candidate = os.path.realpath(os.path.join(k, suffix)) + if os.path.exists(candidate) and candidate not in self.user_paths: + self.user_paths.append(candidate) # Shall we panic or ignore if we cannot find all eggs? self.panic = options.get('error-on-failure', 'true').lower() == 'true'