如何在使用Cython distutils时删除doc字符串?

use*_*953 5 python cython

如果我手动调用cython,我可以删除文档字符串,例如:

cython -D mmod.py
Run Code Online (Sandbox Code Playgroud)

但是当我尝试使用设置实用程序时,我无法传递-D参数.

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
)
Run Code Online (Sandbox Code Playgroud)

与使用-D运行时相比,这会生成一个包含所有可用文档字符串的库.

hiv*_*ert 5

Cython编译选项存储在模块中Cython.Compiler.Options.所以你要找的是

import Cython.Compiler.Options
Cython.Compiler.Options.docstrings = False
Run Code Online (Sandbox Code Playgroud)