Cython開発とomake連携

以前こういう手法で満足していたけど (PyCharm上でCythonのビルドを簡単にするには),やはりPyCharmを使わずにコードを書いているときもあるので,どうにかしてターミナルとEmacs(とtmux)だけで解決出来ないだろうか?と考えた結果,Omakeにファイル変更を監視してもらって,ファイルが変更されたら setup.py を使ってビルド,あとは適当に継続ビルド状態で待機して貰えばよいということに気づいた.

サンプル
cocomoff / CythonOmake — Bitbucket

cython関係のファイル(.pyx)はビルドすると色々とファイルを生成する(主に.cppファイルと.soファイル)のでディレクトリを分けて使うようにしている.pythonスクリプト側からコンパイルした関数を呼び出すために

import sys
sys.path.append("./cython/")

というオマジナイを入れている.OMakefileはいつもどおりomake –installしてテンプレート作成した上で,omake -P –verboseにしておいて,監視させておく.これの使い方が正しいのかよく分からなかったけど,LaTeXのビルドとかに使っている人のページを参考にして作ってみた.


と言っても,OMakefileの中身はこれだけなので,特に気にせず動く.今気づいたけど,FILESの中にsetup.py自体も入れておいた方がいいかもしれない.ただsetup.pyはちょっと特殊なファイルなので,setup.pyが変更されたら全ての.cppと.soファイルを削除した上で再ビルドみたいなことが本当はやりたいです.
FILES[] =
	sample.pyx

.DEFAULT: $(FILES)
	python setup.py build_ext --inplace



返信を残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です