Python脚本无法在从Shell文件启动时运行,但在从终端启动时运行
问题描述:
如果从终端启动Google代码上载Python脚本,它将按预期工作,但当我使用Bourne Shell中的代码启动它时脚本文件,它会失败,并显示错误“close failed in file object destructor: Error in sys.excepthook: Original exception was:
”。Python脚本无法在从Shell文件启动时运行,但在从终端启动时运行
#!/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
答
echo
不接受从标准输入任何东西,所以它做什么,但输出一个空行。脚本的输出应该不需要做任何事情。
尝试指定python
的完整路径。该脚本的PATH
可能与您的交互式shell不同。
你应该能够引用你的Python脚本的名字,并避免空间的尴尬逃脱。
'echo'不接受标准输入的任何内容,所以它什么都不做,只是输出一个空行。尝试指定'python'的完整路径。脚本的PATH可能与交互式shell不同。你应该能够引用你的Python脚本的名字并避免空间的尴尬转义。 – 2010-09-18 15:49:45
是完整的异常消息吗?如果不是,那么请发布完整的异常消息。也请将代码或链接发布到Google \ Code \ Upload.py。为什么你将python脚本传递给'echo'? – lesmana 2010-09-18 15:49:53
不幸的是,这是我得到的完整错误信息。我管它到'回声',以便我可以查看脚本的结果。 'Google Code Upload.py'是[Google自己的脚本]的一个未经修改的版本(http://code.google.com/p/support/source/browse/trunk/scripts/googlecode_upload.py) - 请注意,我花了r190 (发布时的最新版本)。 – jrtc27 2010-09-18 16:02:15