Сценарий Python не запускается при запуске из файла оболочки, но работает при запуске из терминала - PullRequest
4 голосов
/ 18 сентября 2010

Если я запускаю скрипт Python для загрузки Google Code из Терминала, он работает как положено, но когда я запускаю его, используя приведенный ниже код в файле Bourne Shell Script, он завершается с ошибкой «close failed in file object destructor: Error in sys.excepthook: Original exception was:».

#!/bin/sh
BUILD_FOLDER="/Users/James/Documents/Xcode Projects/Uber Sweep - Mac/build/Release & Package"

if [ -f "$BUILD_FOLDER/Uber Sweep (64 bit).zip" ]; then
python /Users/James/Scripts/Google\ Code\ Upload.py -s "Uber Sweep - Mac OS X (64 bit)" -p "uber-sweep" -u "EXCLUDED" -l "Featured,Type-Archive,OpSys-OSX" "$BUILD_FOLDER/Uber Sweep (64 bit).zip" | echo
fi

Почему это?

Спасибо за помощь,
jrtc27

1 Ответ

1 голос
/ 18 сентября 2010

echo не принимает ничего от stdin, поэтому ничего не делает, кроме вывода пустой строки.Вывод скрипта должен отображаться без необходимости что-либо с ним делать.

Попробуйте указать полный путь к python.Значение PATH для сценария может отличаться от значения для интерактивной оболочки.

Вы должны быть в состоянии процитировать имя вашего скрипта Python и избежать неуклюжего выхода пробелов.

...