nbdy_
nbdy_

Reputation: 729

Error running python script in terminal: OSError: [Errno 2] No such file or directory

I'm trying to use a piece of software called "bundler_sfm" which is executed using a python script.

The software I'm trying to use is available here, the script is in the utils directory if you want to have a look.

When trying to run it I get the following python error:

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

The code that leads to this error is as follows:

# 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)

I've looked at various other answers with similar errors but am still at a loss on how to fix this problem.

I'm trying to run this in the terminal on elementary OS.

Any assistance would be greatly appreciated.

Upvotes: 1

Views: 1059

Answers (1)

Joe Young
Joe Young

Reputation: 5875

Already worked it out in the comments, but just for an answer:

Worked out the location where the utility thinks the sift binary is located by printing out BIN_SIFT before calling subprocess.call() method.

Realized this path was incorrect

As a hackish work-around, hard code the correct path to line 55 of bundler.py as a string inside of a list:

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

Upvotes: 0

Related Questions