じゃあ、おうちで学べる

思考を呼び覚ます このコードに、君は抗えるか。

恐縮ですが Cython を始める。(1)

はじめに

The first rule of C is don't write C if you can avoid it.

How to C (as of 2016)

cythonを始めた動機のようなものはありませんでしたがライフワークとしてブログを書いているのでその流れで書いております。 cythonは高速に動作して外部のCライブラリをPythonの高い生産性を失わずに実装できます。 pythonチュートリアルのクオリティーがかなり高いことだけは意識していてほしい。

導入したい

sudo pip3 install cython

Cythonをビルドします。

  • まず、 .pyx ファイルを Cython で .c ファイルに変換します。
  • .c ファイルを C コンパイラで .so ファイルにコンパイルします。
    • 生成したバイナリファイルは、Python から直接 import できます。

hello.pyx(コピペ)を作成します。

gist.github.com

これをコンパイルする為のsetup.py(コピペ)

gist.github.com

python setup.py build_ext --inplaceで実行します。

するとbuild hello.c hello.cpython-34m.soというファイルが生成されました。

このディレクトリのままpythonインタプリタを起動して from hello import say_hello_to とモジュールを呼び出しsay_hello_to("motouchi")Hello motouchi!と出力されればOKです。

参照

Cython ドキュメント(和訳) — Cython 0.17.1 documentation

次のブログ syu-m-5151.hatenablog.com