make: f2py: 没有那个文件或目录

make: f2py: No such file or directory

我是 运行宁 Mac OS X 10.10。我继承了一些 python 代码。我需要在某个目录中 运行 "make",因为当我 运行 我的 python 脚本沿着 WARNING: failed to import test1lib. Please run make in /this/directory/ 行时我收到警告所以我去我在该目录中找到以下文件:

 Makefile   __init__.py __init__.pyc    foo.py  foo.pyc foo_code.f  foolib.f

所以我运行$ make

但我收到以下错误:

f2py -c foolib.f -m foolib
make: f2py: No such file or directory
make: *** [foolib.so] Error 1

运行 which f2py returns /usr/local/bin/f2py 所以它不像我没有 f2py,但为什么我的终端期望 f2py 是一个目录?我该怎么做才能运行处理这个案子?

如果您f2py,那么它要么不在搜索中PATH,要么还没有成为可执行文件。

我不知道你是在 Linux 还是 Windows。尝试手动执行 f2py 并查看它是否启动。如果没有,请尝试找到它,并查看它的安装位置。

如果您可以 从命令行启动它,请向我们展示命令 f2py 所在位置的 Makefile。

编辑:好的...我怀疑 f2py 实际上是一个 Python 脚本,并且它有一个 shebang 行(第一行以 #! 开头)需要 python你没有的版本。在我的系统中,f2py 开始于:

#!/usr/bin/python

调用python2.7.x...如果你有python3,那么f2py可能找不到它。你用 python3 命令启动 Python 吗?

注意:f2py 似乎不适合 Python3('f2py3' 左右)。

注意:您提到的错误消息可能来自 f2py 开头的错误 shebang 行(shebang 是 f2py 可执行文件的第一行 - 这是只是一个 Python 脚本)。通常是

#!/usr/bin/python

或者也许

#!/usr/local/bin/python 

如果你自己编译 Python。如果两者都不是,请开始怀疑。也许 f2py 是由一些混乱的教程或演示安装的。