在链接到FORTRAN库时,我无法使setup.py脚本正常工作。
我几乎没有图书馆的经验,所以我可能会使用不正确的术语。我有一个使用FMLIB fortran包的fortran模块。 FMLIB包中包含三个已编译为.o文件的f95文件。该模块又由python模块使用。在setup.py文件中,我使用Extension:
shapelets = Extension('PyCosmology.shapelets.fort.shapelets',
['PyCosmology/shapelets/fort/find_coeffs.f90'],
libraries = [<DIRECTORY>./FM.o'
'<DIRECTORY>/FMSAVE.f95',
'<DIRECTORY>/FMZM90.f95'],
extra_f90_compile_args=['-Wtabs'],
f2py_options=['--quiet'])
但是,当我尝试安装它时说它无法使用FMZM,因为找不到.mod文件。我应该在Extension中使用不同的关键字链接到库,还是链接到mod文件?或者我还应该做些什么呢? distutils的文档相对稀少。
答案 0 :(得分:2)
想出来。
只需添加include_dirs = ['<DIRECTORY WITH .MOD FILES>']
和library_dirs = [<DIRECTORY>]
,然后将libraries关键字更改为仅包含没有路径的文件名。
似乎工作。