2014-05-09 17 views
5

tôi có thể loại bỏ các docstrings nếu tôi gọi cython bằng tay, ví dụ:Làm thế nào để loại bỏ các chuỗi tài liệu khi sử dụng Cython distutils?

cython -D mmod.py 

nhưng khi tôi cố gắng sử dụng các tiện ích thiết lập, tôi không thể để vượt qua mà tham số -D cùng.

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 
) 

này tạo ra một thư viện mà có tất cả các chuỗi doc sẵn, so với khi chạy với -D.

Trả lời

5

Tùy chọn biên dịch Cython được lưu trong mô-đun Cython.Compiler.Options. Vì vậy, những gì bạn đang tìm kiếm là

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

Cảm ơn bạn đã tip! Bất kỳ ý tưởng làm thế nào để thoát khỏi các chuỗi khác trong tập tin .so? Tôi thấy trong các tập tin được mã hóa của tôi vẫn còn có tên phương thức, vv – yoel

+1

yoel: bạn không thể loại bỏ tất cả các chuỗi đó vì Python cần chúng để gọi các hàm/phương thức. – hivert

+0

Cảm ơn. Bạn có biết một cách che khuất chúng không? có nghĩa là, thay đổi tên của họ một cách ngẫu nhiên? – yoel

Các vấn đề liên quan