fortran是个古老程序,但是古老的好处在于资源多,所以用好Fortran的古老资源还是很有必要,作为一个在python大坑里挣扎的人,最近又抓住了这只木舟,决定再划一划。
python 提供了f2py的接口用于调用已有的fortran程序,但是在win系统下就有个麻烦,因为没有编译器,即使有了接口也无法编译,所以首先从软件基础开始:
1、win10下安装mingw(相当于给win系统安装gfortran编译器)
资源:
官方:
MinGW-w64 - for 32 and 64 bit Windowssourceforge.net网盘:
https://blog.csdn.net/qq_27854685/article/details/80752078blog.csdn.net教程:
在线安装:不成功,出现错误,据大神说是因为网络被限制,管理员运行测试不通过,可能需要挂个梯子试试代理。
离线安装:大神的教程里下载和解压很详细:
https://blog.csdn.net/Leo_LiangXuYuan/article/details/86763735blog.csdn.net重点说一下后续的环境变量配置:
win10直接输入“环境变量”然后点击就出现-选择环境变量-选择path-编辑-添加自己的mingw目录就可以了-确定保存就可以了
最后测试:成功
2、python添加fortran
python调用fortran使用的是f2py接口,在numpy库下已经集成,不需要自行安装,但是在使用之前需要在python中添加mingw.我安装的是anaconda。
首先,在anaconda目录下面找anacondaLibdistutils,在这里建一个文件distutils.cfg,
文件内容为
[build]
compiler=mingw32
这样就可以编译了。
https://www.scivision.dev/f2py-running-fortran-code-in-python-on-windows/www.scivision.devf2py import Fortran code in Python
https://www.scivision.dev/f2py-running-fortran-code-in-python-on-windows/www.scivision.dev 我的python学习第三步:Windows系统中Python调用FORTRAN程序的方法-编程作图-气象家园_气象人自己的家园bbs.06climate.com3、python调用fortran
调用最好只调用函数,没有read'write等文件操作。
python和fortran的接口www.jianshu.com建议最好在函数中加入
!f2py intent(in) :: A,B
明确定义接口的参数,每个SUBROUTINE都需要定义,这样不会出错。