【问题标题】:ImportError: libexslt.so.0: cannot open shared object file: No such file or directoryImportError:libexslt.so.0:无法打开共享对象文件:没有这样的文件或目录
【发布时间】:2015-05-19 16:06:00
【问题描述】:

我正在尝试使用 splunk 6 附带的 python 2.7.8 进行一些 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

感谢您的帮助

【问题讨论】:

标签: python python-2.7 lxml splunk


【解决方案1】:

如果你想在 $SPLUNK_HOME/bin 之外运行一些东西,你应该首先使用“splunk cmd”命令来正确设置环境:

./splunk cmd python some.py

如果您想使用 Splunk python,这是首选方法,并且可以正确模拟从 Splunk 内部触发的 python 脚本的运行方式(例如,作为警报脚本)。

【讨论】:

    【解决方案2】:

    假设您正在通过 ldconfig 实用程序(如 GNU/Linux)运行具有可管理库路径的操作系统,您可以尝试以下操作:

    # echo "/your/path/to/splunk/lib" >> /etc/ld.so.conf.d/splunk.conf
    # ldconfig
    

    这里的问题是共享对象的搜索路径没有设置,所以应用程序无法知道在哪里找到它。

    如果您运行的操作系统没有 ldconfig,我建议您搜索一下用于管理该特定情况的库路径的实用程序(或者只是用更多信息更新您的问题)。

    如果您在该系统上没有执行此类操作的权限,则可以使用环境变量来设置此类搜索路径,如您的问题的 cmets 中提到的链接中所建议的那样(@jedwards)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-12
      • 2018-11-26
      • 2019-11-27
      • 2020-02-06
      • 1970-01-01
      相关资源
      最近更新 更多