2012-06-15 20 views
17

Khi bạn chạy từ dòng lệnhCython -a cờ (để tạo màu vàng rợp bóng HTML) mà không cần dòng lệnh

$ cython -a mycode.pyx 

bạn nhận được một HTML thật sự tốt đẹp "chú thích" tập tin với bóng vàng để chỉ hoạt động trăn chậm so với các hoạt động C nhanh. Bạn cũng nhận được tệp HTML giống như một liên kết mỗi khi bạn biên dịch mã Cython trong Sage. Câu hỏi của tôi là: (1) Tôi có thể lấy tệp HTML này nếu tôi đang biên dịch bằng cách sử dụng các phần mềm gián đoạn không? (2) Tôi có thể lấy tệp HTML này nếu tôi đang biên dịch bằng pyximport không? Cảm ơn!!

+0

Bạn luôn có thể gọi lệnh 'cython' bằng cách sử dụng' subprocess'. Nếu không, hãy đọc mã nguồn của Cython; nó không phải là rất khó để làm theo. –

Trả lời

20

Nhờ bình luận larsmans và các Cython email list, bây giờ tôi có nhiều lựa chọn đáp ứng để tạo ra các "chú thích" tập tin HTML mà không để lại IPython:

(1) Sử dụng tiến trình con ...

import subprocess 
subprocess.call(["cython","-a","myfilename.pyx"]) 

(2) Bật cờ chú thích toàn cầu trong Cython bản thân mình, trước khi biên dịch:

import Cython.Compiler.Options 
Cython.Compiler.Options.annotate = True 

(3) Vượt qua annotate=True vào cythonize() [khi sử dụng distutils compilation method].

Dường như pyximport không có tùy chọn trực tiếp riêng để bật chú thích.

+0

Như người ta có thể đoán, đó là 'cython3' cho Python 3. – handle

+0

' chú thích' không được tìm thấy trong http://cython.readthedocs.io/en/latest/src/reference/compilation.html#compiler-directives và thêm nó dưới dạng '#cython: annotate = True' không tạo tệp, vì vậy tôi chỉ sử dụng tùy chọn 3 của bạn (thành công). – handle

+0

@handle - Tùy chọn (2) luôn không có tài liệu. Bạn có thực sự thử nó không? –

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