永久添加到MAC上的DYLD_LIBRARY_PATH会导致X11错误

时间:2014-07-25 19:39:49

标签: python dyld graph-tool

我正在使用Python 2.7并尝试导入graph_tool,似乎我的libboost_thread-mt.dylib位于/ opt / local / lib而不是/ usr / local / lib。

如果我启动X11终端并输入

   export DYLD_LIBRARY_PATH='/opt/local/lib' 

然后Python成功导入graph_tool。另一方面,如果我添加

   export DYLD_LIBRARY_PATH='/opt/local/lib':$DYLD_LIBRARY_PATH

~/.bash_profile,X11停止工作。我真的很困惑这里发生了什么。为什么我不能永久地将/opt/local/lib添加到$DYLD_LIBRARY_PATH而不会破坏我的计算机?

非常感谢任何帮助。谢谢!

1 个答案:

答案 0 :(得分:3)

尝试永久设置DYLD_LIBRARY_PATH几乎总是表明你做错了什么。在OS X上,精心设计的组件将绝对路径或RPATH嵌入到共享库中,因此很少需要设置环境变量来覆盖库搜索路径。

由于您显示路径/opt/local/lib,我假设您使用的是MacPorts,因为这是它的默认安装路径。如果您无法导入安装了MacPorts的Python包,则可能是使用了错误的Python实例。 MacPorts将所有Python包安装到自己的Python解释器中。因此,如果您安装了Python 2.7版本:

sudo port install py27-graph-tool

如果尚未安装,MacPorts也会在python2.7中安装自己的/opt/local/bin。尝试运行它并在那里进行导入。

/opt/local/bin/python2.7

如果您还没有,则应将/opt/local/bin添加到shell启动文件中的shell PATH中,例如~/.profile,这样您就不必总是键入/opt/local/bin