我试图配置一个setup.py文件来编译一个带有F2PY的简单Fortran90文件,但是它使用LAPACK和BLAS,我不能让Numpy distutils包含这些库。
我可以使用以下代码将代码成功编译成.so。
f2py -m picker -c picker.f90 -llapack -lblas
我希望我的setup.py脚本能够进行等效的编译。我的setup.py看起来像
from numpy.distutils.core import Extension
from numpy.distutils.system_info import get_info
blas_opt = get_info('blas',notfound_action=2)
lapack_opt = get_info('lapack',notfound_action=2)
libs = [blas_opt['libraries'][0], lapack_opt['libraries'][0]]
lib_dirs = [blas_opt['library_dirs'][0], lapack_opt['library_dirs'][0]]
ext1 = Extension(name='picker',
sources = ['picker.f90'],
libraries = libs,
library_dirs = lib_dirs,
)
if __name__ == "__main__":
from numpy.distutils.core import setup
setup(name='phase',
packages=['phase'],
package_data={'phase':['README', 'events.dat', 'jftest/*', 'picker.f90']},
ext_modules = [ext1]
)
任何想法我做错了什么?谢谢你的时间。