2011-10-10 59 views
1

我試圖更新我的軟件包scikits.bvp_solver(來源here),並且遇到了f2py生成文件的一些問題。在2009年生成的文件「bvp_solverf-f2pywrappers2.f90」和「bvp_solverfmodule.c」允許使用「python setup.py build_ext --inplace」構建軟件包,但如果我刪除它們並嘗試重建,錯誤用f2py修改編譯的問題

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: 

添加此使用語句的部分不出現在舊版本的文件中。我很難找出如何解決這個問題。任何人都可以提供意見f2py在過去兩年有哪些主要變化?

+2

包含「模塊guess_3_wrap__user__routines」的文件是否存在?如果存在,是否在失敗的文件之前編譯? – haraldkl

+0

我認爲該文件應該由f2py自動生成,因爲它是bvp_interface.pyf文件中的模塊名稱之一。我沒有看到目前生成的文件中的任何一個。 –

回答

1

我終於通過消除guess_3_wrap__user__routines並將相關代碼移動到python來解決了這個問題。

0

如果您沒有'guess_3_wrap_ 用戶 _routines.mod'文件,您應該在構建使用它的文件之前重新編譯它。對於我在我的命令窗口中設置爲'Intel Composer XE 2011 Intel(R)Visual Studio 2010'的同樣的問題,我輸入了'gfortran'(這是我的Fortran編譯器)和Fortran文件,因此在您的案例'使用guess_3_wrap_ 用戶 _routines.f'(或擴展名爲'.f90')並運行。這應該重新編譯'使用guess_3_wrap_ 用戶 _routines.f'再次獲得'.mod'文件。