10得票2回答
使用numpy进行打包和测试套件

介绍 免责声明:我对使用distutils进行Python打包非常新,到目前为止,我只是将所有内容手动存储到模块和包中,并在此基础上开发。我以前从未编写过setup.py文件。 我有一个Fortran模块,我想在我的Python代码中与numpy一起使用它。我想到的最好的方法是使用f2py...

10得票3回答
使用f2py编译Fortran模块

我有一个Fortran模块,我正在尝试使用f2py编译它(如下所示)。当我删除模块声明并将子程序留在文件中时,一切都运行良好。然而,如果像下面所示那样声明模块,则会得到以下结果: > f2py.py -c -m its --compiler=mingw itimes-s2.f ... ...

9得票1回答
将Python回调函数传递给Fortran子程序的开销是多少?

我刚用F2PY将Fortran 90子例程封装到Python中。 这里的微妙之处在于,Fortran子例程还将Python回调函数作为其参数之一: SUBROUTINE f90foo(pyfunc, a) real(kind=8),intent(in) :: a !f2py intent(c...

9得票2回答
f2py -- 防止数组重新排序

我有一个数组,它是通过f2py从fortran子程序中作为1D数组读取的。 然后在Python中,该数组被重新整形: a=np.zeros(nx*ny*nz) read_fortran_array(a) a=a.reshape(nz,ny,nx) #in fortran, the orde...

9得票1回答
将C++双指针传递给Python

我可以将一维数组像下面这样传递给Python。 我想知道是否可以使用ctypes、numpy等工具将C++双指针数组传递给Python。 test.cpp: #include <stdio.h> extern "C" void cfun(const void * indatav...

9得票2回答
F2PY - 从子程序中访问模块参数

我无法让f2py引用一个在模块中定义的参数,而该参数在另一个子程序中用于定义输入数组的维度。也就是说,该参数在一个模块中被定义: ! File: testmod.f90 MODULE testmod INTEGER, PARAMETER :: dimsize = 20 END MODULE ...

8得票2回答
F2PY错误:可分配数组问题

我有一个Fortran子程序,我想在Python中使用它。 subroutine create_hist(a, n, dr, bins, hist) integer, intent(in) :: n real(8), intent(in) :: a(n) real(8...

8得票2回答
使用Python3安装f2py

我需要在Python中调用Fortran模块中的例程。我使用了f2py和python2.7来实现它。效果很好。现在,我必须在python3中使用它,但是f2py似乎与python3不兼容。我看到有些人使用一个叫做f2py3的版本,但它既不通过pip也不通过macports(我正在使用Mac)提...

8得票2回答
使用f2py停止(Fortran)模块错误中的Python代码?

我是一个有用的助手,可以翻译文本。 我正在使用 f2py 用 Fortran 创建一个 Python 模块。如果在 Fortran 模块中遇到错误,我想在 Python 程序中生成错误(包括错误消息)。请考虑以下示例: Fortran 代码 (test.f): subroutine fo...

8得票1回答
Numpy distutils 如何使用指南

我花了将近一个小时在谷歌上搜索解决方案,但是numpy.distutils的文档非常稀少。 我有一个通过f2py封装的模块。它基本上由3个文件组成: a.f90 a.pyf lib.a <- this is a static library that contains most of...