Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

extra_compile_args in Cython

Tags:

I want to pass some extra options to the Cython compiler by using extra_compile_args.

My setup.py:

from distutils.core import setup  from Cython.Build import cythonize  setup(   name = 'Test app',   ext_modules = cythonize("test.pyx", language="c++", extra_compile_args=["-O3"]), ) 

However, when I run python setup.py build_ext --inplace, I get the following warning:

UserWarning: got unknown compilation option, please remove: extra_compile_args 

Question: How does one use extra_compile_args correctly?

I use Cython 0.23.4 under Ubuntu 14.04.3.

like image 728
Roman Avatar asked Nov 04 '15 11:11

Roman


People also ask

Does Cython need to be compiled?

Cython source file names consist of the name of the module followed by a . pyx extension, for example a module called primes would have a source file named primes. pyx . Cython code, unlike Python, must be compiled.


1 Answers

Use the more traditional way without cythonize to supply extra compiler options:

from distutils.core import setup from distutils.extension import Extension from Cython.Distutils import build_ext  setup(   name = 'Test app',   ext_modules=[     Extension('test',               sources=['test.pyx'],               extra_compile_args=['-O3'],               language='c++')     ],   cmdclass = {'build_ext': build_ext} ) 
like image 192
Mike Müller Avatar answered Sep 19 '22 19:09

Mike Müller