编译时遇到的问题是对f2py的更改

时间:2011-10-10 00:01:01

标签: numpy fortran f2py

我正在尝试更新我的软件包scikits.bvp_solver(source here)并且我遇到了f2py生成的文件的一些问题。 2009年生成的文件'bvp_solverf-f2pywrappers2.f90'和'bvp_solverfmodule.c'允许使用“python setup.py build_ext --inplace”构建软件包,但如果我删除它们并尝试重建我得到错误

scikits/bvp_solver/lib/bvp_solverf-f2pywrappers2.f90:218.48:

                use guess_3_wrap__user__routines
                                                1
Fatal Error: Can't open module file 'guess_3_wrap__user__routines.mod' for reading at (1): No such file or directory
scikits/bvp_solver/lib/bvp_solverf-f2pywrappers2.f90:11.19:

添加此use语句的部分不会出现在旧版本的文件中。我很难弄清楚如何解决这个问题。有人可以提供建议吗?在过去两年中,f2py的主要变化是什么?

2 个答案:

答案 0 :(得分:1)

我最终通过消除guess_3_wrap__user__routines并将相关代码移到python中来解决这个问题。

答案 1 :(得分:0)

如果您没有'guess_3_wrap_ user _routines.mod'文件,则应在构建使用它的文件之前重新编译它。对于我遇到的同样的问题,在我的命令窗口中,设置为'Intel Composer XE 2011英特尔(R)Visual Studio 2010'我键入'gfortran',这是我的Fortran编译器,以及Fortran文件,所以在你的case'使用guess_3_wrap_ 用户 _routines.f'(或扩展名类似于“.f90”)并运行它。那应该再次重新编译'use guess_3_wrap_ user _routines.f'来获取'.mod'文件。