From 2fc7858125f6b88cd57768e72d1ccccde1731c07 Mon Sep 17 00:00:00 2001 From: Giovanni Bussi <giovanni.bussi@gmail.com> Date: Mon, 22 Jul 2019 15:52:57 +0200 Subject: [PATCH] Set language_level Set cython language_level to the level of the used interpreter. Should be ok as plumed.pyx is portable. Also allows forcing pypi source code to be distributed with language_level=2, which seems to be required for backward portabilty. --- python/Makefile | 2 +- python/setup.py | 12 +++++++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/python/Makefile b/python/Makefile index 5cd7f978d..9649addc6 100644 --- a/python/Makefile +++ b/python/Makefile @@ -41,7 +41,7 @@ pypi: mkdir -p pypi cp -r test pypi/ cp ../src/wrapper/Plumed.h README.rst MANIFEST.in cplumed.pxd plumed.pyx setup.py ../VERSION pypi/ - cd pypi ; $(python_bin) setup.py sdist + cd pypi ; plumed_language_level=2 $(python_bin) setup.py sdist echo "now use: $(python_bin) -m twine upload dist/plumed-$(VERSION).tar.gz" clean: diff --git a/python/setup.py b/python/setup.py index 45a824491..8ff2032e5 100644 --- a/python/setup.py +++ b/python/setup.py @@ -37,6 +37,15 @@ from distutils.version import LooseVersion def is_platform_mac(): return sys.platform == 'darwin' +language_level=os.getenv("plumed_language_level") +if language_level is None: + if (sys.version_info > (3, 0)): + language_level=3 + else: + language_level=2 +else: + language_level=int(language_level) + if os.getenv("plumed_macports") is not None: copyfile("../VERSION","VERSION") copyfile("../src/wrapper/Plumed.h","Plumed.h") @@ -119,7 +128,8 @@ ext_modules=[Extension( )] if USE_CYTHON: - ext_modules=cythonize(ext_modules) + print('using language level',language_level) + ext_modules=cythonize(ext_modules,language_level=language_level) setup( name=plumedname, -- GitLab