我正在尝试编译一些我在网络上找到的项目。 该项目正在将一些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
谢谢!
答案 0 :(得分:1)
最后做到了,所以这是我的初学者教程:
请注意-因为它是针对初学者的,因此会在全局范围内进行设置。
添加包含以下文本的setup.cfg文件:
[构建]
compiler = mingw32
将其定位在%pythondir%\ Lib \ distutils
因为setup.py文件包含指向.c或.f文件(c ++ / fortran / c)的链接,以便使命令(python setup.py安装)能够找到这些文件-在以下情况下运行命令工作目录(即cd c:.... \)已设置。
导入模块时,忽略代码中的红色错误行。它在LIB目录中,只需尝试运行...
编辑:
如果仍然无法导入已构建的f文件-用以下方式构建它可能会有所帮助:
python setup.py build_ext --inplace
会生成一个对象(* .pyd),这对我出于某种原因停止工作后提供了帮助。