私はPythonスクリプト内でfortranプログラムを使用しており、setup.py
スクリプトを使用してビルドおよびインストールしようとしていますnumpy.distutils
. しかし、私はさまざまなコード ファイルをリンクする方法を熟知していないので、ここで質問して、各タイプのファイルをどうするかを誰かが明確に説明してくれることを願っています。
たまたま私の状況にかなり似ている仮説的な状況を説明しましょう。.so
Pythonでインポートできるファイルにしたいモジュールを含む2つのファイルがあります。それらがread.f90
(モジュールを含むread
) およびanalyse.f90
(モジュールを含む) であるとanalyse
します。これらのモジュールは両方とも、subs.f90
私が常に追加および更新している別のファイルで定義されているサブルーチンを使用します。モジュールは、ファイル内の別のモジュールにanalyse
も依存しています。これは、最初に調整する場合がありますが、基本的には、この後になる可能性が最も高いです。さらに、外部ライブラリにも依存します。produce
produce.f90
analyse
libfoo.a
これを機能させるには 2 つのレイヤーがあります。まず、f90 ファイルでuse
andステートメントが正しくなければなりません。include
次に、setup.py
ファイル内の拡張構成が正しくなければなりません。これまでのところ、外部ライブラリを機能させる方法を知っています - module analyse
、 put use foo
、および setup.py の Extension 関数で、キーワードを使用します
library_dirs = ["path/to/library"],
libraries = ["foo"],
include_dirs = ["path/to/directory/with/mod/files"]
ただし、残りについてはわかりません。いくつかは機能していますが、最適な方法ではないようです。他の部分はまったく機能していません。誰かが何をすべきかを明確に説明できるかどうか疑問に思いましたか?