2015年12月份遇见的问题,
报错详细信息:
执行外部程序任务tmk_mail_use_cdr_h命令python /etl11/vgop_ac_gp/src/mail/mk/tmk_mail_use_cdr_h.py PRO_GPMK_tmk_mail_use_cdr_h tmk_mail_use_cdr_h 20151222
Fatal Python error: Py_Initialize: Unable to get the locale encoding
ImportError: No module named 'encodings'
- /home/vgopetl/EtlNode49/VGOP49/shell/90c7e3f434d241aaa7bee43676c8570e.sh: line 2: 9600 已放弃 python /etl11/vgop_ac_gp/src/mail/mk/tmk_mail_use_cdr_h.py PRO_GPMK_tmk_mail_use_cdr_h tmk_mail_use_cdr_h 20151222
外部程序python /etl11/vgop_ac_gp/src/mail/mk/tmk_mail_use_cdr_h.py PRO_GPMK_tmk_mail_use_cdr_h tmk_mail_use_cdr_h 20151222返回值134
任务tmk_mail_use_cdr_h执行结束时间2015-12-23 09:52:11
任务tmk_mail_use_cdr_h返回状态错误
处理方法:
1:删除python上多余的版本;
2:保证本机上有正确的python包
3:删除_.bashprofile文件,每次ETL调度时会修改该文件至错误文件,并且导致系统不去读取.profile文件;
4:删除.profile、.etl_profile.run、/usr/local/greenplum-db/greenplum_path.sh(存在.bashrc文件中)python相关环境变量;
主要参数:
PATH:包含python可执行程序存在位置
PYTHONPATH:python脚本所在位置
PYTHONHOME:python可执行程序存在位置
LD_LIBRARY_PATH PATH:python安装后的lib包位置
注意:在修改完.profile文件后,需source .profile
5:删除python的链接文件,并新建正确的链接文件,如下:
删除:
cd /usr/bin
ll py*
结果:python -> /home/vgopetl/Python-3.3.5/bin/python3
rm python
创建:
ln -fs python可执行程序的正确路径/python可执行文件 /usr/bin/python
在以上步骤操作完成后,可以直接输入python,以检查是否配置正确,若可以进入python环境则成功。