0

Linux マシンで使用可能な実行可能ファイルを Python が見つけるのに問題があります。デフォルトの PATH にはこの実行可能ファイル (svnlook) が含まれていますが、Python スクリプトを実行すると、以下の関数で実行可能ファイルが見つかりません。これを修正する方法についてのアイデアはありますか?

def command_output(cmd):
    child  = subprocess.Popen(cmd.split(), stdout=subprocess.PIPE)
    output = child.communicate()[0]
    return output, child.returncode


def get_author():
    cmd = "svnlook author %s %s %s" % (svn_opt, svn_txn, svn_repo)
    author, return_code = command_output(cmd)

    return author.strip()

エラー:

 Traceback (most recent call last):
  File "/home/user/app/csvn/data/repositories/repo/hooks/pre-commit", line 82, in <module>
    author = get_author()
  File "/home/user/app/csvn/data/repositories/repo/hooks/pre-commit", line 53, in get_author
    author, return_code = command_output(cmd)
  File "/home/user/app/csvn/data/repositories/repo/hooks/pre-commit", line 36, in command_output
    child  = subprocess.Popen(cmd.split(), stdout=subprocess.PIPE)
  File "/home/user/app/activepython-2.7.2.5_x86_64/lib/python2.7/subprocess.py", line 679, in __init__
    errread, errwrite)
  File "/home/user/app/activepython-2.7.2.5_x86_64/lib/python2.7/subprocess.py", line 1228, in _execute_child
    raise child_exception
OSError: [Errno 2] No such file or directory
Error: [Errno 2] No such file or directory
4

2 に答える 2

1

おそらく、実行可能ファイルへのフル パスを指定することをお勧め/usr/bin/svnlook/usr/local/bin/svnlookますsvnlook

詳細については、関連する質問に対するこの回答を参照してください。

于 2013-11-02T08:15:43.950 に答える