f2py在编译fortran子例程时失败

时间:2016-06-03 03:42:08

标签: python numpy fortran wrapper f2py

我无法使用f2py将任何fortran代码成功编译到python模块中。我使用以下fotran文件运行http://docs.scipy.org/doc/numpy-dev/f2py/getting-started.html中概述的过程:

C FILE: FIB3.F

      SUBROUTINE FIB(A,N)
C
C     CALCULATE FIRST N FIBONACCI NUMBERS
C
      INTEGER N
      REAL*8 A(N)
Cf2py intent(in) n
Cf2py intent(out) a
Cf2py depend(n) a
      DO I=1,N
         IF (I.EQ.1) THEN
         A(I) = 0.0D0
         ELSEIF (I.EQ.2) THEN
            A(I) = 1.0D0
         ELSE 
            A(I) = A(I-1) + A(I-2)
         ENDIF
      ENDDO
      END 
C END FILE FIB3.F

然后我运行命令

f2py -c -m fib3 fib3.f

在同一目录中创建.so共享库文件。在我的python代码中,我可以将fib3作为模块导入,但是当我尝试打印文档时

print fib3.__doc__

结果是'无'。当我尝试

fib3.fib(a)

我得到了

AttributeError: 'module' object has no attribute 'fib' 

我不确定f2py编译过程有什么问题,任何人都有想法?

我的电脑正在运行python 2.7,numpy 1.11和gfortran 6.1

0 个答案:

没有答案