gpt4 book ai didi

python - python中的fortran子例程导入失败

转载 作者:太空宇宙 更新时间:2023-11-04 11:49:50 25 4
gpt4 key购买 nike

我正在尝试将一个 Fortran 子例程导入到 Python 代码中。按照本指南 https://notmatthancock.github.io/2017/02/10/calling-fortran-from-python.html我已将以下行添加到我的 Fortran 代码中:

!f2py intent(in) :: ear,ne,parames,ifl
!f2py intent(out) photar,photer

然而,当我尝试使用 f2py -c fireball_ES_param.f -m fireball 创建 fireball.so 以导入我的 python 代码时,我收到了数百条警告,这可能是问题所在,但我我不确定:https://www.4shared.com/s/f2ynHZ_Wjda (这里太长了)。

无论如何,都会创建 fireball.cpython-34m.so 文件,但是当我尝试从 python 导入它时,我得到:

$ python

Python 2.7.6 (default, Nov 13 2018, 12:45:42) [GCC 4.8.4] on
linux2 Type "help", "copyright", "credits" or "license" for more
information.
>>> import fireball Traceback (most recent call last):
File "<stdin>", line 1, in <module> ImportError:
No module named fireball

我试过:

import sys

sys.path.append('/path/to/folder/containing/fireball.cpython-34m.so')

但得到了相同的结果。我不确定 fireball.so 的创建或其 import 是否有问题。

最佳答案

f2py 链接到 Python 3.4(因此 fireball.cpython-34m.so 中的 34)但 python3 实际上是 3.6 版(见最后评论)。

您的选择:

  • 使用 Python 3.4 启动你的程序,它应该作为 python3.4 可用
  • 将 f2py 更新到 Python 3.6。如果您通过 pip 安装,pip install --user -U numpy 应该可以。然后重建扩展。

关于python - python中的fortran子例程导入失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56392605/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com