2012-06-15 12 views
17

जब आप कमांड लाइन से चलानेCython -एक ध्वज (उत्पन्न करने के लिए पीले छायांकित एचटीएमएल) कमांड लाइन के बिना

$ cython -a mycode.pyx 

आप धीमी अजगर संचालन इंगित करने के लिए वास्तव में एक अच्छा एचटीएमएल "एनोटेशन" पीला छायांकन के साथ फ़ाइल प्राप्त बनाम तेज सी संचालन। जब भी आप ऋषि में साइथन कोड संकलित करते हैं तो आपको यह वही HTML फ़ाइल एक लिंक के रूप में भी मिलती है। मेरे प्रश्न हैं: (1) क्या मैं इस HTML फ़ाइल को प्राप्त कर सकता हूं यदि मैं distutils का उपयोग कर संकलन कर रहा हूं? (2) क्या मैं इस HTML फ़ाइल को प्राप्त कर सकता हूं यदि मैं pyximport का उपयोग कर संकलित कर रहा हूं? धन्यवाद!!

+0

आप हमेशा 'सबप्रोसेस' का उपयोग करके 'साइथन' कमांड को कॉल कर सकते हैं। अन्यथा, साइथन स्रोत कोड पढ़ें; यह पालन करने के लिए जबरदस्त मुश्किल नहीं है। –

उत्तर

20

larsmans की टिप्पणी के लिए धन्यवाद और Cython email list, मैं अब कई संतोषजनक विकल्प IPython से बाहर निकले बिना "व्याख्या" HTML फ़ाइल उत्पन्न करने के लिए है:

(1) का प्रयोग करें उपप्रक्रिया ...

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

(2) Cython अपने आप को, में वैश्विक व्याख्या झंडा चालू संकलन से पहले:

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

(3)में दर्रा [distutils compilation method का उपयोग करते समय]।

ऐसा लगता है कि पिक्सीमीटर में एनोटेशन चालू करने के लिए अपना स्वयं का प्रत्यक्ष विकल्प नहीं है।

+0

एक अंदाज़ा लगा सकते हैं, यह अजगर 3. के लिए 'है cython3' – handle

+0

' annotate' http://cython.readthedocs.io/en/latest/src/reference/compilation.html#compiler-directives में पाया जा सकता नहीं है और इसे '#cython के रूप में जोड़ना: एनोटेट = ट्रू' फ़ाइल उत्पन्न नहीं करता है, इसलिए मैंने अभी आपके विकल्प 3 (सफलतापूर्वक) का उपयोग किया है। – handle

+0

@handle - विकल्प (2) हमेशा अनियंत्रित किया गया है। क्या आपने वास्तव में इसे आजमाया था? –

संबंधित मुद्दे