【问题标题】:Compiling module with f2py使用 f2py 编译模块
【发布时间】:2019-09-14 11:03:56
【问题描述】:

我想在服务器上使用 f2py 使用以下命令编译模块:

f2py -c utils.f90 参数.f90 helmholtz.f90 calc.f90 qgflux.f90 qgstep.f90 interface.f90 -m py_mod

但 f2py 命令在该服务器上不可用。因此,我尝试使用以下代码在 python 中编译我的模块:

import numpy.f2py
r = numpy.f2py.run_main(['-m','py_mod','utils.f90','parameters.f90','helmholtz.f90','calc.f90','qgflux.f90','qgstep.f90','interface.f90'])

看起来一切都很好,最后我得到了:

将 C/API 模块“py_mod”写入文件“./py_modmodule.c” Fortran 90 包装器保存到“./py_mod-f2pywrappers2.f90”

现在命令“print(r)”返回:

{'py_mod': {'csrc': ['./py_modmodule.c', '/usr/lib64/python3.6/site-packages/numpy/f2py/src/fortranobject.c'], 'fsrc':['./py_mod-f2pywrappers2.f90'],'h': ['/usr/lib64/python3.6/site-packages/numpy/f2py/src/fortranobject.h']}}

但是我不知道接下来要做什么来获取模块 py_mod,你能帮帮我吗?

问候

【问题讨论】:

    标签: compilation wrapper f2py


    【解决方案1】:

    好的,我终于找到了解决问题的方法。这是我在 bash 中使用的命令:

    python3.6 -m numpy.f2py -c utils.f90 parameters.f90 helmholtz.f90 calc.f90 qgflux.f90 qgstep.f90 interface.f90 -m py_mod

    效果很好!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-24
      • 1970-01-01
      • 2017-09-14
      • 1970-01-01
      相关资源
      最近更新 更多