16得票1回答
F2PY:从“已使用”模块中暴露参数

我认为这个问题已经得到了解决,但是我花费了大量时间来寻找答案,包括深入挖掘源代码。第一段展示了我的问题。其余部分展示了问题的基本示例。 我尝试编译一个包含指向另一个更通用的模块的USE语句的模块。我希望将使用的模块单独保持,以便作为一组通用设置在多个“软件包”中使用。使用f2py编译这两个模...

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...

7得票3回答
通过f2py将Fortran扩展到Python:如何进行性能分析?

我正在使用一个Python扩展(版本为2.7.2),它是用Fortran编写的(gfortran 4.4.7),并通过f2py(Ver. 2)进行编译。我可以用cProfile对Python部分进行剖析,但结果没有提供任何有关Fortran函数的信息,而是将时间归因于调用Fortran函数的P...

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

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

14得票2回答
将Python加速器(Cython、Numba、f2py)与Numpy einsum进行比较

我正在比较Python加速器(Numba,Cython,f2py)与简单的For循环和Numpy的einsum,以解决特定问题(见下文)。到目前为止,对于这个问题,Numpy是最快的(因素快6倍),但我想知道是否有其他优化可以尝试,或者我做错了什么。这段简单的代码基于一个更大的代码,其中有许多...

38得票5回答
WinError 2指系统找不到指定的文件(Python)

我有一个Fortran程序,想在Python中执行它来处理多个文件。我有2000个输入文件,但在我的Fortran代码中一次只能运行一个文件。我应该如何在Python中调用Fortran程序? 我的脚本:import subprocess import glob input = glob.g...

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

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

53得票1回答
使用setuptools和numpy.distutils打包传统的Fortran代码到Python中,这样做是否可行?

我正在尝试为领域中一些热门的Fortran代码制作一个Python包分发。 我希望它使用最标准的方法,即 setup.py 文件。 该相关问题对学习如何包装Fortran扩展非常有帮助。 在使用此方法时,当混合使用setuptools和numpy.distutils时,我注意到了一些令人困惑...

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 ... ...