Вызов подпроцесса Python возвращает «команда не найдена», Терминал работает правильно

Я пытаюсь запустить gphoto2 из python, но безуспешно. Он просто возвращает команду, которая не найдена. gphoto установлен правильно, например, команды в Терминале работают нормально.

p = subprocess.Popen(['gphoto2'], shell=True, stdout=subprocess.PIPE,
    stderr=subprocess.STDOUT, executable='/bin/bash')

for line in p.stdout.readlines():
    print line
p.wait()

/bin/bash: gphoto2: command not found

Я знаю, что в терминале (приложении) osx есть что-то забавное, но мои знания об osx скудны.

Есть какие-нибудь мысли по этому поводу?

РЕДАКТИРОВАТЬ

часть моего кода изменила, появляются другие ошибки

p = subprocess.Popen(['gphoto2'], stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
for line in p.stdout:
    print line


    raise child_exception
OSError: [Errno 2] No such file or directory

ИЗМЕНИТЬ

с использованием полного пути '/ opt / local / bin / gphoto2'

, но если кто-нибудь объяснит, какую оболочку использовать или как войти в систему и иметь такую ​​же функциональность ..?

8
задан Aduen 29 February 2012 в 22:32
поделиться