我安装了NAG Fortran编译器。我可以通过调用nagfor -o helloworld helloworld.f90
来编译Fortran代码。如果我用f2py -c -m helloworld helloworld.f90 --fcompiler=nagfor
运行f2py没有任何反应。另外,如果我只是运行f2py
没有任何反应。 f2py --help-fcompiler
没有输出。
我安装了Windows 7并使用Anaconda Python发行版。知道我应该如何解决这个问题吗?
答案 0 :(得分:1)
根据Ian的评论和this post我设法运行f2py(遗憾的是只使用GNU Fortran编译器)。
我必须将C:\Loopy\Lib\site-packages\numpy\distutils\fcompiler\gnu.py
中的第337行更改为:
pass #raise NotImplementedError("Only MS compiler supported with gfortran on win64")
此外,我使用C:\Loopy\Scripts\f2py.py
。
答案 1 :(得分:0)
您根本没有看到任何错误输出,这是不寻常的。
这听起来好像你在说别的东西。
确保路径上的Anaconda的脚本目录,以及当前目录中没有某种名为f2py
的脚本。
根据您的计算机设置方式来解释文件类型,您可能需要运行类似python f2py.py
的内容,其余参数相同。
如果你正在使用Anaconda,你应该已经有了一份gfortran的副本。
如果你想使用它,请确保Anaconda的bin目录在你的路径上。
除非你有一个非常近期的(1.10,目前处于开发阶段)numpy版本,要使用gfortran,你需要转到Anaconda/Lib/site-packages/numpy/distutils/fcompiler/gnu.py
并注释掉行(在330行左右)会引发错误,如果你在64位窗口上。
一旦你完成了它,它应该可以正常工作。
修改:根据旧版f2py docs和current source判断,正确的fcompiler
标记为--fcompiler=nag
。
编译器由供应商指定,而不是由可执行文件名指定。