我正在尝试将Python接口(interface)用于LHAPDF,但是收到以下错误消息:

Traceback (most recent call last):
  File "test.py", line 2, in <module>
    import lhapdf
ImportError: /home/n17182559/LHAPDF/lib/python2.7/site-packages/lhapdf.so: undefined symbol: _ZN6LHAPDF6ConfigD1Ev

我在使用Python 2.7的Ubuntu 17.04上运行,已安装Boost并具有有效的C++编译器(g++)。我相信我已经按照他们网站上的说明成功安装了LHAPDF,并且没有收到错误消息(仅警告auto_ptr已过时,但我认为我对此没有控制权)。我确实将〜/ LHAPDF / lib / python2.7 / sitepackages /目录添加到$ PYTHONPATH,并将〜/ LHAPDF / bin /目录添加到$ PATH。我正在使用LHAPDF 6.1.6(撰写本文时的最新版本)。

我从仅包含以下内容的test.py文件中收到此错误消息
#!/usr/bin/python
import lhapdf

如果可以帮到您,我找到了一个带有similar problem的人,但原因似乎不尽相同(我没有安装Anaconda)。当他们通过从$ PATH中删除Anaconda来解决问题时,这是我的$ PATH和$ PYTHONPATH,因为它们可能是问题的根源(尽管我不知道如何解决):
$PATH
/home/n17182559/LHAPDF/bin:/opt/applications/geant4/geant4.10.02-install/bin:/home/n17182559/ROOT/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:

$PYTHONPATH
/home/n17182559/ROOT/lib:/home/n17182559/LHAPDF/lib/python2.7/site-packages:

希望你们能提供帮助!

最佳答案

如果有人需要解决方案,我会在外部帮助下解决。问题是主LHAPDF lib目录未链接到我的LD_LIBRARY_PATH。这个命令行解决了它:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/path/to/LHAPDF/lib/libLHAP‌​DF.so

(已将其添加到〜/ .bashrc文件中)。

关于python - LHAPDF:在Python中运行时 undefined symbol ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44057555/

10-08 20:30