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

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

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

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

One Solution collect form web for “Как я могу установить флаги компилятора Cython при использовании pyximport?”

Вы должны использовать файл .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 следует считать правильным способом сделать это.

  • Проблема с установкой Cython
  • Можно ли оптимизировать этот код cython?
  • Синтаксис Cython для объявления иерархии классов, которые имеют псевдонимы
  • Cython: «фатальная ошибка: numpy / arrayobject.h: нет такого файла или каталога»
  • Объявление массива numpy и c-указателя в cython
  • c указатель массива malloc return в cython
  • Есть ли какой-либо тип функции в Cython?
  • Как импортировать функцию из .pyx-файла в python?
  • Python - лучший язык программирования в мире.