Python F2PY:gfortran编译器未找到且缺少DLL

Python F2PY:gfortran编译器未找到且缺少DLL,python,numpy,fortran,gfortran,f2py,Python,Numpy,Fortran,Gfortran,F2py,我需要使用Python中的Fortran77脚本,所以我尝试使用F2PY包。我没有Fortran知识,在我的Windows 10上也没有任何Fortran编译器,所以我安装了gfortran。我认为安装工作正常,因为如果我从MSYS2 MinGW 64位运行gfortran命令 gfortran: fatal error: no input files compilation terminated. 然后,我尝试在运行F2PY文档中的示例,但出现以下错误: error: extension '

我需要使用Python中的Fortran77脚本,所以我尝试使用F2PY包。我没有Fortran知识,在我的Windows 10上也没有任何Fortran编译器,所以我安装了gfortran。我认为安装工作正常,因为如果我从MSYS2 MinGW 64位运行
gfortran
命令

gfortran: fatal error: no input files
compilation terminated.
然后,我尝试在运行F2PY文档中的示例,但出现以下错误:

error: extension 'fib1' has Fortran sources but no Fortran compiler found
我猜F2PY没有看到gfortran编译器,所以我按照的第四步设置了一个环境变量:我已经创建了一个名为
C_INCLUDE_PATH
的新环境变量(用户变量,而不是系统变量),并将其设置为
C:\msys64\usr\bin\gfortran\INCLUDE
。如果我尝试重新运行这个示例,我会得到相同的错误

我错过了什么?我应该使用系统变量而不是用户变量吗?此外,变量的值看起来有点奇怪,因为我在计算机上找到的
gfortran
的唯一实例是一个文件,而不是一个目录。。。 提前谢谢


更新:我可以通过将
C:\msys64\usr\bin
添加到我的路径来解决此问题! 现在我可以成功地编译Fortran模块,但是当我尝试用Python导入扩展模块时,我得到了

ImportError: DLL load failed while importing fib1: Couldn't find the specified module.
我还在路径中包含了
C:\msys64\usr\lib
,但错误仍然存在。有什么想法吗


新的更新:我终于能够解决丢失的DLL错误!对我来说,当我运行命令来创建扩展模块(
python-mnumpy.f2py-c fib1.f-m fib1
)时,在我当前的目录中创建了两个东西:一个
fib1.cp38-win_amd64.pyd
文件,我认为它是扩展模块本身,一个
fib1
目录,包含一个
.libs
目录。最后一个目录包含以下文件:

libfib1.OPD3BD7YADI2T777PBURWLTYIK5TRWK2.gfortran-win_amd64.dll
我刚刚将这个文件从
.libs
目录复制到当前目录(与我的.pyd文件相同),现在exension模块运行良好


我希望这能有所帮助:)

您是否先导入了
numpy
?是的,我导入了;无论如何,PyCharm表明,如果我只是想打印扩展模块文档,那么导入numpy是不必要的,就像我现在所做的那样…嗯,好的。我测试了这个示例,但它在linux上运行正常。试着从候机楼跑,而不是PyCharm。谢谢。我试过了,但结果是一样的。