Python3.6启动Odoo12 UTF8报错处理解决方案

问题背景

技术好文收藏!Python3.6启动Odoo12 UTF8报错处理解决方案

图片来源:开源智造-OSCG.CN

今天闲来无事,正好赶上odoo12产品正式发布,老杨我作为中国最大的金牌合作服务商,当然要全面去为客户好好测试一下Odoo12版本是否已经稳定,以便在合适的时机去为客户后期推荐使用最新的版本,这不刚想来个体验,结果当头棒喝。只能说也许这个错误只会在我这种技术极客里会出现,一般的客户不会出现,当然也说不好因为Python3最新版本的缘故遇到和我一样的问题,所以给各位先做个技术备案吧!


问题复现与解决思路

技术好文收藏!Python3.6启动Odoo12 UTF8报错处理解决方案

图片来源:开源智造-OSCG.CN

没办法,老杨就是个懒鬼,喜欢在Macbook Pro下使用PyCharm来启动自己的项目,有关怎么做到一个PyCharm里管理多个Odoo版本的故事,未来有空再和大家絮叨,这里先关注报错。这个错误就是著名的

raise ValueError('unknown locale: %s' % localename)ValueError: unknown locale: UTF-8

对于Python老鸟的我,一开始有点懵逼,因为之前我的环境是好好的,并且这次偷懒,连虚拟Python环境我都是使用之前最新Odoo master时候配置的,官方俗称Odoo14版本的东西。

也就是说肯定环境没问题的,那么问题在哪,我突然想起来了,前几天为了耍酷分享过一篇我自己改造MacOS里关于终端的事情,忽然的我觉得我的Linux经验告诉我,ZSH配置当中少了一个配置

export LC_ALL=en_US.UTF-8

export LANG=en_US.UTF-8

果然检查发现了这个错误,添加后,我干脆甩开我心爱的PyCharm用iTerm直接启动,果然大家看到久违的正常启动效果。

技术好文收藏!Python3.6启动Odoo12 UTF8报错处理解决方案

图片来源:开源智造-OSCG.CN

那么为了保证顺利打开Odoo12我就先启动,一会在来处理PyCharm的问题吧(反正我命令行下绝对无敌,多年Linux老鸟品质认证)


先看下Odoo12,等一下我来料理PyCharm的问题

技术好文收藏!Python3.6启动Odoo12 UTF8报错处理解决方案

图片来源:开源智造-OSCG.CN

我猜现在有人看到这个图,爱好者们一定很羡慕老杨,为啥老杨有最牛最新的企业版吧,前面说了,我是亚太区最大的金牌服务商,有这个不意外。

技术好文收藏!Python3.6启动Odoo12 UTF8报错处理解决方案

图片来源:开源智造-OSCG.CN

因为这次我们公司与上海科委旗下产业技术研究中心合作研发工业互联网平台,故此想通过Odoo12 IOT技术做个前期的技术可行性报告调研和技术结构代码规范设计。(提醒下:如果当ERP使用,请使用Odoo11,因为稳定,我们是做项目研发,所以无所谓版本。甲方客户切记提示,不要好奇心过重,避免不必要的损失)

言归正传,解决PyCharm

技术好文收藏!Python3.6启动Odoo12 UTF8报错处理解决方案

图片来源:开源智造-OSCG.CN

问题显而易见了,这里解释一下,原来MacOS里标配的是3.5,但是为了支持后续的Odoo12 建议使用3.6以上版本,这里大家好奇为啥我控制台启动时候没错误,而PyCharm里有错误,因为控制台被我一开始赋予了环境变量,就是前面代码,提到的这次,而PyCharm走的路径采用的是Python bash的配置文件。