Python脚本从Shell文件启动时无法运行,但从终端启动时可以工作

Python脚本从Shell文件启动时无法运行,但从终端启动时可以工作,python,macos,shell,terminal,google-code,Python,Macos,Shell,Terminal,Google Code,如果我从终端启动Google Code upload Python脚本,它会按预期工作,但当我使用Bourne Shell脚本文件中的以下代码启动它时,它会失败,错误为“close failed in file object destructor:error in sys.excepthook:Original exception:” 为什么会这样 谢谢你的帮助, jrtc27echo不接受stdin的任何内容,因此它除了输出一个空行之外什么也不做。脚本的输出应该显示,而不必对其进行任何操作 尝

如果我从终端启动Google Code upload Python脚本,它会按预期工作,但当我使用Bourne Shell脚本文件中的以下代码启动它时,它会失败,错误为“close failed in file object destructor:error in sys.excepthook:Original exception:

为什么会这样

谢谢你的帮助,

jrtc27

echo
不接受stdin的任何内容,因此它除了输出一个空行之外什么也不做。脚本的输出应该显示,而不必对其进行任何操作

尝试指定python的完整路径。脚本的
路径可能与交互式shell的路径不同


您应该能够引用Python脚本的名称,避免尴尬的空格转义。

echo
不接受stdin的任何内容,因此它只输出一个空行。尝试指定python的完整路径。脚本的
路径可能与交互式shell的路径不同。您应该能够引用Python脚本的名称并避免尴尬的空格转义。这是完整的异常消息吗?如果没有,请发布完整的异常消息。另外,请将代码或链接发布到
Google\code\Upload.py
。为什么要将python脚本传输到echo呢?不幸的是,这就是我得到的全部错误消息。我通过管道将其传送到echo,以便查看脚本的结果
Google code Upload.py
是的一个未修改版本-请注意,我使用了r190(发布时的最新版本)。我停止了对其进行管道传输,以使其能够正常工作。谢谢你的帮助@丹尼斯,如果你把你的评论作为答案(你先评论),我会把它标记为解决方案。
#!/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