2017-02-01 1 views
1

Je veux compiler mon projet python avec Cython. J'ai créé ce fichier setup.py:Supprimer les arguments de compilation en Cython

from setuptools import setup, find_packages 
from Cython.Build import cythonize 

recursive_tree = [file for file in glob.iglob("sample/**/*.py", recursive=True)] 

setup(
    name          = 'sample', 
    version         = sample.__version__, 
    packages         = find_packages(), 
    author         = "42", 
    description        = "Cython Sample", 
    include_package_data      = True, 
    ext_modules        = cythonize(
     recursive_tree, 
     nthreads=2, 
     exclude="setup.py", 
     build_dir = "out", 
    ), 
) 

Dans ce thread, nous pouvons voir qu'il est possible d'ajouter des fonctionnalités supplémentaires compilez args, mais pouvons-nous faire le contraire et supprimer un?

Quand j'utilise cette commande: python setup.py build_ext --inplace Je suis cette configuration gcc:

gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/usr/local/include/python3.6m -c out/sample/hello.c -o build/temp.linux-x86_64-3.6/out/sample/hello.o

gcc -pthread -shared build/temp.linux-x86_64-3.6/out/sample/hello.o -o build/lib.linux-x86_64-3.6/hello.cpython-36m-x86_64-linux-gnu.so

Comment puis-je supprimer l'option -g?

Répondre

2

En référence à similaire cette question: How may I override the compiler (gcc) flags that setup.py uses by default? (que je ne pense pas tout à fait une copie). Ils résolvent un problème similaire en ajoutant des arguments de ligne de commande supplémentaires pour annuler ceux que setup.py ajoute par défaut. Dans ce cas, -g0"negates -g". Par conséquent ajouter -g0 à extra_compile_args

setup(... # everything as before 
     extra_compile_args = ['-g0']) 
+0

Être un avertissement lorsque j'utilise '' extra_compile_args' dans la configuration() 'et cythonize. J'ai eu un bon résultat en utilisant 'moduleA = Extension ('moduleName', [fileToCompile], extra_compile_args = [-g0])' – Jguillot