gpt4 book ai didi

python - 将 Fortran 对象导入 Python

转载 作者:行者123 更新时间:2023-12-01 08:31:01 26 4
gpt4 key购买 nike

我正在尝试编译我在网上找到的一些项目。该项目正在将一些 Fortran 代码包装到 python 对象中。

该项目的作者写道,我需要运行 setup.py 文件。

我已经做到了。它包含以下代码:

  ext = Extension(name = "GaussianFitter._Fitter",
sources = ["GaussianFitter/src/lmdif.f",
"GaussianFitter/src/splev.f",
"GaussianFitter/src/gaussian.f90"],

显然所有这些“f”文件都存在。当我安装 setup.py 文件时,它似乎成功完成了一些工作,但脚本中使用该 _Fitter 的第一行:

import _Fitter

不起作用。

我是Python新手,根本没有尝试过Fortran,所以请原谅我的无知。

编辑:此处提供项目:

https://github.com/ardiloot/GaussianFitter

谢谢!

最佳答案

终于成功了,这是我的初学者教程:

注意 - 因为它是针对初学者的 - 它将所有内容设置在全局范围内。

  1. 从以下位置安装 mingw32: http://www.mingw.org/将其 bin 路径添加到系统 PATH。
  2. 添加包含以下文本的 setup.cfg 文件:

    [构建]

    编译器=mingw32

在 %pythondir%\Lib\distutils 中找到它

  • 由于 setup.py 文件包含指向 .c 或 .f 文件 (c++/fortran/c) 的链接,以便使命令 (python setup.py install) 能够找到这些文件 - 在以下情况下运行命令工作目录(即 cd c:....\)已设置。

  • 导入该模块时忽略代码中的红色错误行。它在LIB目录中,只需尝试运行...

  • 编辑:

    如果仍然无法导入已构建的 f 文件 - 按以下方式构建可能会有所帮助:

    python setup.py build_ext --inplace

    它生成一个对象(*.pyd),这在它因任何原因停止工作后帮助了我。

    关于python - 将 Fortran 对象导入 Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53913350/

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