« 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」カテゴリの記事

コメント

コメントを書く

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

トラックバック


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

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

しろののツイッタータイムライン

  • ツイッターは5つ目も凍結されました。6つ目での復活も不可能。なのでnoteに注力しています。

    と思ったら、イーロン・マスクの買収が公になってアカウントが復活できました。ありがとうマスク。

    トランプ関連記事の一覧リスト

オススメたち

2026年6月
日 月 火 水 木 金 土
  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        

はてブ

無料ブログはココログ