永久定义环境变量(对于Python gdal未定义符号)

时间:2015-11-24 10:20:19

标签: python linux

我已经安装了gdal版本1.11.2,但是我有未定义符号的问题。针对此提出的解决方案由gerrit

给出
export LD_PRELOAD=/usr/local/lib/libgdal.so.1

但是,这只有在我从命令行调用python脚本时才有效。如果我从subprocess.Popen调用脚本,这显然不起作用。

有没有办法永久定义LD_PRELOAD

2 个答案:

答案 0 :(得分:1)

如果要为每个用户全局拥有导出,可以将导出保存在/ etc / environment中

或者您可以像这样使用env参数:

subprocess.Popen(command, env={'LD_PRELOAD': '/usr/local/lib/libgdal.so.1'})

另见: Python subprocess/Popen with a modified environment

答案 1 :(得分:1)

最佳解决方案IMHO是在OS级别解决问题。如果您希望只有平台的某些用户可以访问gdal,则每个用户都应添加一行

export LD_PRELOAD=/usr/local/lib/libgdal.so.1

在他自己的.profile文件中(假设它们都使用bash或兼容的shell)

或者,如果所有用户都应该能够使用gdal,那么该行应该添加到系统/etc/profile文件中。