我想用以下命令在服务器上使用f2py编译一个模块:
f2py -c utils.f90 parameters.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-f2pyperpers2.f90“
现在,命令"print(r)“返回:
{'py_mod':{'csrc':'./py_modmodule.c','/usr/lib64/python3.6/site-packages/numpy/f2py/src/fortranobject.c','fsrc':‘./py_mod-f2pyperpers2.f90’,'h':'/usr/lib64/python3.6/site-packages/numpy/f2py/src/fortranobject.h'}}
但是我不知道下一步该怎么做才能得到模块py_mod,你能帮帮我吗?
问候
发布于 2019-09-20 06:47:00
好吧,我终于找到了解决问题的办法。下面是我在bash中使用的命令:
丙酮3.6 -m numpy.f2py -c utils.f90 parameters.f90 helmholtz.f90 calc.f90 qgflux.f90 qgstep.f90 interface.f90 -m py_mod
而且效果很好!
https://stackoverflow.com/questions/57934859
复制相似问题