python3.5[No module named 'encodings']报错

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环境则成功。





你可能感兴趣的:(Python开发)