Как я могу установить флаги компилятора Cython при использовании pyximport?

Этот вопрос ( Как перезаписывать флагов компиляции по умолчанию для Cython при создании с distutils? ) Описывает, как устанавливать флаги Cython по умолчанию при использовании distutils.

Но как установить флаги компиляции по умолчанию, если я просто использую pyximport?

import pyximport pyximport.install() # Pass compile flags here somehow? 

Вы должны использовать файл .pyxbld , например, этот вопрос . Для файла с именем foo.pyx вы foo.pyxbld файл foo.pyxbld . Ниже приводятся дополнительные аргументы оптимизации:

 def make_ext(modname, pyxfilename): from distutils.extension import Extension return Extension(name=modname, sources=[pyxfilename], extra_compile_args=['-O3', '-march=native']) 

Я думаю, что можно было бы установить дополнительные параметры установки для pyximport.install если вы pyximport.install через достаточно обручи (messing around with distribute ), чтобы получить setup_args в том виде, который ему нравится, однако в документации модуля pyximport рекомендуется использовать .pyxbld файл, а в тестовом коде для pyximport только этот метод, поэтому, если есть другой способ, его следует считать неустойчивым / непроверенным, а .pyxbld следует считать правильным способом сделать это.