【问题标题】:Unable to execute python command in SAP BODS无法在 SAP BODS 中执行 python 命令
【发布时间】:2017-11-02 08:33:27
【问题描述】:

我尝试在 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 会话现在正常工作)

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

【问题讨论】:

    标签: python sh exec ksh sap-data-services


    【解决方案1】:

    设法解决了这个问题:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-20
      • 1970-01-01
      • 2017-03-15
      • 1970-01-01
      • 2016-06-22
      • 2014-01-14
      相关资源
      最近更新 更多