Я пытаюсь использовать часть программного обеспечения под названием «bundler_sfm», которая выполняется с использованием скрипта python.Ошибка при запуске скрипта python в терминале: OSError: [Errno 2] Нет такого файла или каталога
Программное обеспечение, которое я пытаюсь использовать, доступно here, скрипт находится в каталоге utils, если вы хотите посмотреть.
При попытке запустить его я получаю следующее сообщение об ошибке питон:
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)
Я посмотрел на различные другие ответы с аналогичные ошибки, но я все еще в недоумении о том, как исправить эту проблему.
Я пытаюсь запустить это в терминале на элементарной ОС.
Любая помощь будет принята с благодарностью.
Благодаря
Вы на Linux-Unix-подобная операционная система? Можете ли вы найти двоичный файл «sift»? Попробуйте выполнить: «просеивать» или попробовать выполнить «find/-name» sift «type -f» –
Да, я использую элементарную ОС (linux). Я загрузил двоичный файл sift из [здесь] (http://www.cs.ubc.ca/~lowe/keypoints/), и он находится в папке/bin программы. Мой LD_LIBRARY_PATH включает в себя путь к папке, содержащей этот двоичный файл (это все инструкции, которые я выполнил в соответствии с приведенной выше ссылкой github), а запуск echo $ LD_LIBRARY_PATH подтверждает, что путь включен. –
ok, вы знаете путь, где у вас есть utils/bundler.py? В той же родительской папке utils выглядит так, что там будет папка с bin. Можете ли вы попробовать скопировать двоичный файл sift в эту конкретную папку bin? Код выглядит так, как ожидается, найдет двоичный файл sift в папке bin, которая находится в той же родительской папке, что и папка utils. –