提问人:Eva 提问时间:11/10/2023 最后编辑:Eva 更新时间:11/11/2023 访问量:50
在 spyder 上从 Python 调用 Fortran,Windows 10,“AttributeError:模块'myflib'没有属性'function'”
Call Fortran from Python on spyder, windows 10, "AttributeError: module 'myflib' has no attribute 'function'"
问:
我目前正在尝试从 Python 脚本调用 Fortran 代码中包含的函数。 为此,我尝试了 https://www.matecdev.com/posts/fortran-in-python.html 上提供的示例。
我创建了“my_fortran_lib.f90”,其中包含定义为
!
! my_fortran_lib.f90:
!
function foo(a) result(b)
implicit none
real(kind=8), intent(in) :: a(:,:)
complex(kind=8) :: b(size(a,1),size(a,2))
b = exp((0,1)*a)
end function foo
然后我在命令提示符下执行了以下命令(我使用 Windows 10)
我有 2 个输出“myflib2.cp311-win_amd64.pyd”和“libmy_fortr.VGRWKJX2MMMS3CK3OCJQHKECLLH3CKTE.gfortran-win_amd64.dll“包含在文件夹”myflib2“(与我的其他库位于同一文件夹中)中f2py3 -c -m myflib2 my_fortran_lib.f90
但是,当我在 spyder 上运行我的代码时,
import myflib2
a = np.array([[1,2,3,4], [5,6,7,8]], order='F')
myflib2.foo(a)
我有以下结果: 结果
myflib2.foo(a)
Traceback (most recent call last):
Cell In[10], line 1
myflib2.foo(a)
AttributeError: module 'myflib2' has no attribute 'foo'
它可以找到文件夹 myflib2,但无法运行应该在 Fortran 代码中的函数。
你知道我问题的根源吗?
提前致谢,
我试过使用
- Fortran 的其他格式为 f90、f
- 其他功能
但它不起作用
答: 暂无答案
评论