Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Compilation 用f2py编译模块_Compilation_Wrapper_F2py - Fatal编程技术网

Compilation 用f2py编译模块

Compilation 用f2py编译模块,compilation,wrapper,f2py,Compilation,Wrapper,F2py,我想在服务器上使用f2py和以下命令编译一个模块: f2py-c utils.f90参数.f90 helmholtz.f90计算.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','helmh

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

f2py-c utils.f90参数.f90 helmholtz.f90计算.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_modmodmodule.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,你能帮我吗


关于

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

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

而且效果很好