我正在尝试使用python 2.7.8附带splunk 6进行一些XML解析usign lxml。
from lxml import etree
我看到以下错误
[root@**** bin]# ./python some.py
Traceback (most recent call last):
File "some.py", line 1, in <module>
from lxml import etree
ImportError: libexslt.so.0: cannot open shared object file: No such file or directory
我也在splunk / lib /
中有这个lrwxrwxrwx libexslt.so -> libexslt.so.0.8.17
lrwxrwxrwx libexslt.so.0 -> libexslt.so.0.8.17
-r-xr-xr-x libexslt.so.0.8.17
感谢您的帮助
答案 0 :(得分:2)
假设您通过ldconfig实用程序(如GNU / Linux)运行具有可管理库路径的操作系统,您可以尝试以下操作:
# echo "/your/path/to/splunk/lib" >> /etc/ld.so.conf.d/splunk.conf
# ldconfig
这里的问题是共享对象的搜索路径没有设置,因此应用程序无法知道在哪里找到它。
如果您正在运行没有ldconfig的操作系统,我建议您搜索一下管理该特定情况的库路径的实用程序(或者只是更新您的问题以获取更多信息)
如果您没有该系统的权限来执行此类操作,您可以使用环境变量来设置此类搜索路径,如您对问题的评论中引用的链接中所建议的那样(@jedwards)。 / p>
答案 1 :(得分:2)
如果你想从$ SPLUNK_HOME / bin运行一些东西,你应该使用“splunk cmd”命令来首先正确设置环境:
./ splunk cmd python some.py
如果您想使用Splunk python,这是首选的方法,并正确模拟python脚本从Splunk内部触发时的运行方式(例如,作为警报脚本)。