Fortran Coder

标题: 求助fortran文件通过f2py转换后在python调用的问题 [打印本页]

作者: canns    时间: 2021-6-9 17:57
标题: 求助fortran文件通过f2py转换后在python调用的问题
本帖最后由 canns 于 2021-6-9 18:01 编辑

在网上看了很多方法,在windows中或者linux中,几行命令就能转换调用成功,但我按照步骤做却都不行,有各种问题。比如在linux中,通过f2py  -c for.f90 -m for1将f90文件转换为so文件,再通过sudo cp -r for1.so  /usr/lib/python3.8将文件添加到python库目录中,但仍然在python中import模块失败ImportError: /home/michealjs /fors.so: undefined symbol: Pycobject_Type。花了很多时间,查了很多方法,还是没有解决,希望能得到帮助。如果能帮我将下面这个f95文件转换并能在python中导入的,可以有偿酬劳,万分感谢



文件一直上传不了,代码在这个网址里
http://p.fcode.cn/_1w65E

作者: 长江    时间: 2022-1-3 17:48
不知道这位兄弟有没有解决问题。
我是在Windows下编程,也遇到这个问题,你可以试试看,是不是相同的原因:
f2py不仅在当前目录下生成一个pyd库文件,同时也会创建一个以模型名为名字的目录,在这个目录下有一个 .libs 目录,这个目录下有一个DLL文件,文件名很长。需要把这个dll文件也拷贝到当前目录下,再 import 就可以找到模型了
作者: gps99    时间: 2022-5-16 10:26
不建议用 f2py这种方式现在。f2py的使用有较限制,仅支持有限的 Fortran 子集,毕竟事个临时方案。。

F2003标准最重要一项就是统一与C接口标准。iso_c_bindings提供与 C 互操作性的标准化
Python 方面,ctypes 是 stdlib 的一部分,它实现了与外部函数的接口。
这两个工具可以结合起来创建一个支持 Fortran 和 Python 兼容性的接口。---也是Fortran官方建议的方式





欢迎光临 Fortran Coder (http://bbs.fcode.cn/) Powered by Discuz! X3.2