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」カテゴリの記事
- Noteの記事をPythonでバックアップしといた。(2021.05.05)
- JupyterLabでも好きな外部エディターを使いたい!(2018.05.02)
- ローカルエリア内のJupyterLabサーバーにLAN経由で接続する。(2018.05.02)
- Juliaやってみよう。五日目。Pythonと速度比較。(2017.08.01)
- Juliaやってみよう。四日目。@timeでプロファイリング(2017.07.16)
« list slicing in python: get till the last item | トップページ | Jリーグの勝ち点をpylabでプロットしてみたら無駄に美しかった件。 »



コメント