Fortran Coder

查看: 6888|回复: 2
打印 上一主题 下一主题

[混编] 求助fortran文件通过f2py转换后在python调用的问题

[复制链接]

1

帖子

1

主题

0

精华

新人

F 币
20 元
贡献
11 点
跳转到指定楼层
楼主
发表于 2021-6-9 17:57:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 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
分享到:  微信微信
收藏收藏 点赞点赞 点踩点踩

1

帖子

0

主题

0

精华

新人

F 币
16 元
贡献
8 点
沙发
发表于 2022-1-3 17:48:01 | 只看该作者
不知道这位兄弟有没有解决问题。
我是在Windows下编程,也遇到这个问题,你可以试试看,是不是相同的原因:
f2py不仅在当前目录下生成一个pyd库文件,同时也会创建一个以模型名为名字的目录,在这个目录下有一个 .libs 目录,这个目录下有一个DLL文件,文件名很长。需要把这个dll文件也拷贝到当前目录下,再 import 就可以找到模型了

39

帖子

4

主题

0

精华

熟手

F 币
236 元
贡献
93 点
板凳
发表于 2022-5-16 10:26:19 | 只看该作者
不建议用 f2py这种方式现在。f2py的使用有较限制,仅支持有限的 Fortran 子集,毕竟事个临时方案。。

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

本版积分规则

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-12-25 21:03

Powered by Tencent X3.4

© 2013-2024 Tencent

快速回复 返回顶部 返回列表