如何使用python脚本在mac上导出DYLD_LIBRARY_PATH

时间:2012-02-22 06:35:11

标签: python

我正在使用ctypes来加载我的库。代码就像

currPath = os.getcwd() 
libPath = os.path.join(currPath, platform) 
print libPath 
if(platform == 'win32'): 
    os.environ['PATH'] = os.environ['PATH'] + r';' + libPath 
if(platform == 'darwin'): 
    os.environ['DYLD_LIBRARY_PATH'] = libPath {/Users/labuser/Desktop/lib} 
print os.environ['DYLD_LIBRARY_PATH']

但是当我尝试加载我的库时,它找不到库路径。

有什么可能的解决方案。在启动python脚本之前在终端上我导出DYLD_LIBRARY_PATH = PATH,然后我的python脚本工作正常。

1 个答案:

答案 0 :(得分:1)

如果您尝试在加载库代码的同一脚本中设置DYLD_LIBRARY_PATH,我认为这不起作用。在python启动之前,需要在shell中设置环境变量。无论如何,在os.environ中设置它不会超出当前的python环境。

@summea在评论链接中引用的是需要创建某种类型的shell脚本,或者通过〜/ .profile或者操作系统和shell的等效位置将其添加到shell环境中。

它的工作原理,当你导出变量然后启动你的脚本时,变量是在python启动时设置的。同样,您可以使用类似DYLD_LIBRARY_PATH="path" ./script.py的内容启动脚本,它也可以使用临时变量设置。