« list slicing in python: get till the last item | トップページ | Jリーグの勝ち点をpylabでプロットしてみたら無駄に美しかった件。 »

2011年8月19日 (金)

CythonでGCCがNumPyのCヘッダーを見つけられない場合

カジュアルCythonユーザーな私にはpyximportが欠かせません。CythonをXP上でGCCで使うには、ちょいと設定が必要なのはこの間書いた通りです。

次は、本格的に使い始めると避けて通れないだろうNumpyを含むコードをCythonizeしてみたいときに、GCCからNumPyのC header filesが見えなくてエラーになるときの対処法です。

GCCのインストール先にあるインクルードフォルダー C:\MinGW\include などへ、サイトパッケージの中にあるheader filesをコピーします。
C:\Python26\Lib\site-packages\numpy\core\include などにみつかるでしょう。

これでめでたくGCCが怒るのをやめました。

ほんとうは -I とかのオプションをGCCに渡してやればいいんでしょうが、pyximportのほうの設定がさっぱりわからないので、とりあえずの対処法ということで、numpyをアップデートしたりしたらわすれずにコピーしなおすとかしないとあとあと問題がおきるかもしれません。

追記)Windows 7ではこれではうまくNumpyのヘッダーが認識されなかったので、ここを参考に、CPATHという環境変数を追加してC:\Python26\Lib\site-packages\numpy\core\includeをいれてみたらうまく行った。再追記)なんだかそれでも、VCを探しに行く時があるようなので、おまじないのpyximport.install()を

    mingw_setup_args = { 'options': { 'build_ext': { 'compiler': 'mingw32' } } }
    pyximport.install(setup_args=mingw_setup_args)

に変更する必要もあるみたいだ。

« list slicing in python: get till the last item | トップページ | Jリーグの勝ち点をpylabでプロットしてみたら無駄に美しかった件。 »

Python」カテゴリの記事

コメント

コメントを書く

コメントは記事投稿者が公開するまで表示されません。

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/1169291/41282632

この記事へのトラックバック一覧です: CythonでGCCがNumPyのCヘッダーを見つけられない場合:

« list slicing in python: get till the last item | トップページ | Jリーグの勝ち点をpylabでプロットしてみたら無駄に美しかった件。 »

広告欄


やっつけタイムライン

広告欄

はてブ

人目の訪問です。

  • follow us in feedly

    かなり更新が不定期なため、RSSリーダーをオススメします。現在Feedlyに122人登録頂いています。多謝!RSSを表示

    ブログランキング用 にほんブログ村 IT技術ブログ Pythonへ ブログランキングならblogram






    Jenny Mayhem
2017年11月
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30    

IT技術注目記事

無料ブログはココログ