f2pyで上手くコンパイルできない。
fatal error: Python.h: そのようなファイルやディレクトリはありません
#include "Python.h"
^~~~~~~~~~
このようなエラーが出た場合は、
aptやzypperやyumコマンドで
zypper install python3-devel
sudo yum install python3-devel
sudo apt install libpython3.6-dev
pythonの開発バージョンをインストールする必要がある。
1、(単純ミス)anaconda環境でないPCでf2pyをコンパイルしてpython3で実行しようとすると、ImportError: dynamic module does not define module export function (PyInit_output)みたいのが出てインポートできなかったのでその対処をメモ
原因は、python2のf2pyでコンパイルしていたからだった。。。
python3のf2pyでコンパイルしたい時は、f2py3というコマンドを使用するみたい。
そういえば、pipとかもpip3だもんね、、、python2と3が互換性がないのまじでややこしい。
2.(PCの仕様)f2py3コマンドが使えない場合がある。モジュールとして実行する必要があり、以下で実行する必要がある。
python -m numpy.f2py -m test -c test.f90
参考
https://runebook.dev/ja/docs/numpy/f2py/usage