我已經安裝了gdal版本1.11.2,但是我遇到了未定義符號的問題。此提議的解決方案是通過gerrit給出:永久定義環境變量(對於Python gdal未定義符號)
export LD_PRELOAD=/usr/local/lib/libgdal.so.1
但是,如果我叫命令行的python腳本這僅適用。如果我從subprocess.Popen
調用腳本,這顯然不起作用。
有沒有辦法永久定義LD_PRELOAD
?
我已經安裝了gdal版本1.11.2,但是我遇到了未定義符號的問題。此提議的解決方案是通過gerrit給出:永久定義環境變量(對於Python gdal未定義符號)
export LD_PRELOAD=/usr/local/lib/libgdal.so.1
但是,如果我叫命令行的python腳本這僅適用。如果我從subprocess.Popen
調用腳本,這顯然不起作用。
有沒有辦法永久定義LD_PRELOAD
?
可以保存導出在/ etc /環境,如果你想擁有它全球範圍內爲每個用戶
,或者您可以使用ENV參數,像這樣:
subprocess.Popen(command, env={'LD_PRELOAD': '/usr/local/lib/libgdal.so.1'})
最好的解決方案恕我直言,是解決在操作系統級別的問題。如果你想gdal
是隻有你的平臺的一些用戶訪問,每個用戶應該添加一行
export LD_PRELOAD=/usr/local/lib/libgdal.so.1
在自己.profile
文件(假設他們都使用bash或兼容的shell)
另外,如果所有用戶都應該能夠使用gdal
,則應將該行添加到系統/etc/profile
文件中。
謝謝,當腳本運行在sudo或root下時,應該這樣工作嗎? – API
我想是的,是的。 – Serbitar