2014-05-09 11 views
5

posso rimuovere le docstrings se invoco Cython manualmente, ad esempio:Come rimuovere le stringhe doc quando si usano le distutils Cython?

cython -D mmod.py 

ma quando provo ad usare l'utility di configurazione, non sono in grado di passare quel parametro -D lungo.

setup.py

from distutils.core import setup 
from distutils.extension import Extension 
from Cython.Distutils import build_ext 

ext_modules = [Extension("mmod", ["mmod.py"])] 

setup(
    cmdclass = {'build_ext': build_ext}, 
    ext_modules = ext_modules 
) 

Questo produce una libreria che ha tutte le stringhe doc disponibili, rispetto a quando si esegue con -D.

risposta

5

L'opzione di compilazione di Cython viene memorizzata nel modulo Cython.Compiler.Options. Quindi quello che stai cercando è

import Cython.Compiler.Options 
Cython.Compiler.Options.docstrings = False 
+0

Grazie per il suggerimento! Qualche idea su come sbarazzarsi di altre stringhe nei file .so? Vedo nei miei file criptati che esistono ancora i nomi dei metodi ecc. – yoel

+1

yoel: non è possibile rimuovere tutte quelle stringhe poiché Python ha bisogno che chiamino le funzioni/i metodi. – hivert

+0

Grazie. Ti capita di sapere di un modo di oscurarli? significato, cambiando i loro nomi in modo casuale? – yoel

Problemi correlati