簡體   English   中英

在終端中運行 python 腳本時出錯:OSError: [Errno 2] No such file or directory

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

我正在嘗試使用一個名為“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)

我已經查看了具有類似錯誤的各種其他答案,但仍然不知道如何解決這個問題。

我正在嘗試在基本操作系統的終端中運行它。

任何幫助將不勝感激。

已經在評論中解決了,但只是為了回答:

通過在調用 subprocess.call() 方法之前打印出 BIN_SIFT 來計算出實用程序認為 sift 二進制文件所在的位置。

意識到這條路不正確

作為一種駭人聽聞的解決方法,將 bundler.py 第 55 行的正確路徑硬編碼為列表中的字符串:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM