1PYTHON setup.py build_ext --inplace 2PYTHON -c "import directive2; import directive3" 3PYTHON -c "import infile2; import infile3" 4 5######## setup.py ######## 6 7from Cython.Build.Dependencies import cythonize 8from distutils.core import setup 9 10ext_modules = [] 11 12# Test language_level specified in the cythonize() call 13ext_modules += cythonize("directive2.py", compiler_directives={'language_level': 2}) 14ext_modules += cythonize("directive3.py", compiler_directives={'language_level': 3}) 15 16# Test language_level specified in the source file. We give a 17# conflicting directive to cythonize() to check that the language_level 18# is correctly overridden when compiling 19ext_modules += cythonize("infile2.py", compiler_directives={'language_level': 3}) 20ext_modules += cythonize("infile3.py", compiler_directives={'language_level': 2}) 21 22setup(ext_modules=ext_modules) 23 24######## directive3.py ######## 25 26import sys 27print("SUCCESS", file=sys.stdout) 28 29######## directive2.py ######## 30 31print "SUCCESS" 32 33######## infile3.py ######## 34 35# cython: language_level=3 36 37import sys 38print("SUCCESS", file=sys.stdout) 39 40######## infile2.py ######## 41 42# cython: language_level=2 43 44print "SUCCESS" 45