无法在SAP BODS

时间:2017-11-02 08:33:27

标签: python sh exec ksh business-objects

我尝试在SAP BODS脚本中使用ksh执行python命令,以在BODS服务器中运行名为“zzz.py”的程序:

print(exec('ksh', '-c "python --version"', 8));
print(exec('ksh', '-c "python zzz.py"', 8));

然而,在执行脚本时,我得到以下输出:

3850    2990602048  PRINTFN 11/2/2017 4:26:17 PM    0: Python 2.7.9
3850    2990602048  PRINTFN 11/2/2017 4:26:17 PM    1: Could not find platform independent libraries <prefix> Could not find platform dependent libraries <exec_prefix>
3850    2990602048  PRINTFN 11/2/2017 4:26:17 PM    Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>] ImportError: No module named site

当我继续添加export PYTHONHOME=/usr/bin/python并执行printenv命令时,PYTHONHOME路径未显示。

我继续使用SSH通过PuTTy访问服务器,执行命令工作正常。但是,在运行python --version命令时,它会显示我在2.7.5中的版本,而不是BODS中显示的版本。我也尝试添加PYTHONHOME路径,但它在BODS中没有帮助(相反,我无法在我的SSH会话中运行python命令,当然我去了unset它并且SSH会话现在正常工作)

我可以在这方面寻求帮助吗?谢谢!

1 个答案:

答案 0 :(得分:0)

管理解决这个问题:

从BODS执行时,正在使用不同的用户(而不是用于SSH的root用户)。在执行python之前必须设置“export LD_LIBRARY_PATH = / usr / local / lib”并且它可以工作。