3

我正在尝试使用numpy.f2py如下所述运行一个简单的 Fortran 子例程:http: //docs.scipy.org/doc/numpy/user/c-info.python-as-glue.html#calling-f2py-from-python

当我尝试f2py.compile(source, modulename='add')从 python 编译 () 时,出现以下错误:

"Could not locate executable C:Python27pythonw.exe
Executable C:Python27pythonw.exe does not exist"

寻找这个文件,我发现C:\Python27\pythonw.exe我的系统中确实存在,那么路径可能有问题吗?

无论如何,关于如何使我的代码工作的任何建议?

4

2 回答 2

2

我找到了一个快速解决问题的方法。但是,我不能保证使用它时不会破坏其他任何东西。

在文件中:

C:\Python27\Lib\site-packages\numpy\f2py\__init__.py

在第 40 行,更改

s,o = exec_command(c)

s = os.system(c)

似乎主要错误在于 numpy.distutils.exec_command,它在调用 python 时似乎省略了反斜杠。同样,我可能正在玩我不理解的力量,通过用 os.system 调用替换更多涉及的 exec_command 。但它对我有用。

于 2013-11-07T12:19:05.757 回答
0

另一种没有“丢失” ooutput)的s = os.system(c)方法是实现

c = c.replace("\\", "\\\\")

之前s,o = exec_command(c)status, output = exec_command(c)

于 2016-09-27T15:38:05.197 回答