我在python脚本中使用fortran程序,并尝试用setup.py
脚本来构建和安装它,使用numpy.distutils
。然而,我并不擅长于知道如何在各种代码文件中链接,所以我想我应该在这里提出这个问题,并希望有人能够清楚地解释如何处理每种类型的文件。在
让我来解释一个假设的情况,它恰好与我自己的情况非常相似。我有两个文件,每个文件都包含一个模块,我希望它们成为可以在python中导入的.so
文件。假设它们是read.f90
(containg moduleread
)和{analyse
),这两个模块都使用在另一个文件subs.f90
中定义的子例程,我正在不断地添加和更新这些子例程。模块analyse
还依赖于文件produce.f90
中的另一个模块produce
,我可能会先对其进行优化,但基本上我会让它在这之后发生。此外,analyse
还依赖于外部库libfoo.a
。在
有两个层来实现这一点-首先,use
和{setup.py
文件中的扩展配置必须正确。到目前为止,我知道如何让外部库工作—在模块analyse
,放入use foo
,然后设置.py,在扩展函数中,使用关键字
library_dirs = ["path/to/library"],
libraries = ["foo"],
include_dirs = ["path/to/directory/with/mod/files"]
不过,剩下的我不确定。我有一些工作,但似乎不是最佳的方式。其他部分根本不工作。我只是想知道是否有人能解释清楚该怎么做?在
目前没有回答
相关问题 更多 >
编程相关推荐