无法在 SAP BODS 中执行 python 命令
Unable to execute python command in SAP BODS
我尝试在 SAP BODS 脚本中使用 ksh 对 BODS 服务器中名为 "zzz.py" 的程序 运行 执行 python 命令:
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 会话现在正常工作)
我可以在这方面寻求帮助吗?谢谢!
设法解决这个问题:
从 BODS 执行时,使用了不同的用户(与用于 SSH 的 root 用户相反)。在执行 python 之前必须设置 "export LD_LIBRARY_PATH=/usr/local/lib" 并且它有效。
我尝试在 SAP BODS 脚本中使用 ksh 对 BODS 服务器中名为 "zzz.py" 的程序 运行 执行 python 命令:
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 会话现在正常工作)
我可以在这方面寻求帮助吗?谢谢!
设法解决这个问题:
从 BODS 执行时,使用了不同的用户(与用于 SSH 的 root 用户相反)。在执行 python 之前必须设置 "export LD_LIBRARY_PATH=/usr/local/lib" 并且它有效。