2012-06-15 12 views
17

あなたはコマンドラインから実行あなたが遅いのpython操作を示すために、黄色の濃淡で本当に素敵なHTML「注釈」ファイルを取得Cythonの-aフラグ(生成する黄色の網掛けHTML)コマンドラインなし

$ cython -a mycode.pyx 

高速なC操作と比較します。 SageでCythonコードをコンパイルするたびに、同じHTMLファイルをリンクとして取得します。私の質問は次のとおりです:(1)distutilsを使ってコンパイルしている場合、このHTMLファイルを入手できますか? (2)pyximportを使ってコンパイルしている場合、このHTMLファイルを入手できますか?ありがとう!!

+0

いつでも 'cyprocess'コマンドを' subprocess'を使って呼び出すことができます。それ以外の場合は、Cythonのソースコードを読んでください。それは非常に難しいことではありません。 –

答えて

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)にannotate=Trueを渡します[distutils compilation methodを使用している場合]

pyximportには、注釈をオンにするための独自の直接オプションはありません。

+0

だと思いますが、それはPython 3の 'cython3'です。 – handle

+0

' annotate'はhttp://cython.readthedocs.io/en/latest/src/reference/compilation.html#compiler-directivesには見つかりません。それを '#cython:annotate = True'として追加するとファイルが生成されないので、私はちょうどあなたのオプション3(成功)を使用しました。 – handle

+0

@handle - オプション(2)は、常に文書化されていません。実際に試しましたか? –

関連する問題