问题:
python使用so 要求
export LD_LIBRARY_PATH=./:../linux
是否可以在python中调用系统环境设置
结果:
参见:http://stackoverflow.com/questions/6543847/setting-ld-library-path-from-inside-python
使用如下方式可以,但本质上还是运行进程执行的环境设置
LD_LIBRARY_PATH setst the dynamic linker path; that generally can't be changed at runtime, since it's usually cached by the dynamic linker
python使用so 要求
export LD_LIBRARY_PATH=./:../linux
是否可以在python中调用系统环境设置
结果:
参见:http://stackoverflow.com/questions/6543847/setting-ld-library-path-from-inside-python
使用如下方式可以,但本质上还是运行进程执行的环境设置
#!/usr/bin/python
import os, sys
if 'LD_LIBRARY_PATH' not in os.environ:
os.environ['LD_LIBRARY_PATH'] = '/usr/lib/oracle/XX.Y/client64/lib'
os.environ['ORACLE_HOME'] = '/usr/lib/oracle/XX.Y/client64'
try:
os.execv(sys.argv[0], sys.argv)
except Exception, exc:
print 'Failed re-exec:', exc
sys.exit(1)
#
# import yourmodule
print 'Success:', os.environ['LD_LIBRARY_PATH']
# your program goes here
所以建议在py启动前使用sh设置即可。LD_LIBRARY_PATH setst the dynamic linker path; that generally can't be changed at runtime, since it's usually cached by the dynamic linker
没有评论:
发表评论