在终端中运行python脚本时出错:OSError:[Erno 2]没有这样的文件或目录



我正在尝试使用一个名为"bundler_sfm";其使用python脚本来执行。

我尝试使用的软件在这里可用,如果你想看看的话,脚本在utils目录中。

当尝试运行它时,我得到以下python错误:

File "/usr/lib/python2.7/subprocess.py", line 493, in call
return Popen(*popenargs, **kwargs).wait()
File "/usr/lib/python2.7/subprocess.py", line 679, in __init__
errread, errwrite)
File "/usr/lib/python2.7/subprocess.py", line 1249, in _execute_child
raise child_exception
OSError: [Errno 2] No such file or directory

导致此错误的代码如下:

# Extract SIFT data
if verbose:
    with open(pgm_filename, 'rb') as fp_in:
        with open(key_filename, 'wb') as fp_out:
            subprocess.call(BIN_SIFT, stdin=fp_in, stdout=fp_out)

我看过其他各种有类似错误的答案,但仍然不知道如何解决这个问题。

我正在尝试在elementary操作系统的终端中运行这个。

如有任何协助,我们将不胜感激。

已经在评论中解决了,但只是为了得到一个答案:

通过在调用subprocess.call()方法之前打印出BIN_sift,计算出实用程序认为sift二进制文件所在的位置。

意识到此路径是不正确的

作为一种破解方法,将bundler.py第55行的正确路径硬编码为列表中的字符串:

BIN_SIFT = ["/real/path/to/sift"]

相关内容

  • 没有找到相关文章

最新更新