U8SDK——将打包工具升级到python3.x

作者: 分类: U8SDK 发布时间: 2015-05-24 16:07 69条评论
最近试着将u8sdk的打包工具升级到python3.x. 之前没有了解太多python3.x的太多细节,导致升级过程中,踩了好几个坑。这里记录下,如果你选择升级,那么可以参考下。 :roll:
 
u8sdk升级到python3.4
 
 
升级说明:这里我采用的是python3.4版本,直接下载安装即可,安装之后记得将系统环境变量中老的python2.7路径改为3.4的路径,可能要重启才能生效。
 

 
1、打包工具之前用的是python2.7版本,如果母包100M,那么打出一个渠道的apk包需要1分半中(普通的机器)。升级到python3.4之后,同样的母包,同样的机器,打包时间变成2分钟。比原来更慢了点(郁闷)
 
2、python3.x较python2.x在u8sdk打包工具这里,最显著的影响,就是字符串处理。
pyton2.x字符串区分UniCode字符串和u-bit字符串,之前用python2.x,对中文的处理,需要在前面加上u””,以表示采用unicode字符编码。而在python3.x中,所有文本默认就是Unicode类型了。可见,python3.x中,字符串这块得到了极大的改进。
 
3、python3.x中print仅仅是一个函数了,如果原先代码中有print “” 这样的代码,那么必须改为print(“”)这样的形势
 
4、python2.x中,判断一个元素是否在dict中,使用has_key()函数判定,在python3.x中,这个函数被干掉了,引入了关键词in.所以之前所有has_key的地方,都要改成 key in dict 这样的形势
 
5、异常处理方式。python2.x中,异常都是如下形势:

try:
    … 
except NotImplementedError, error:

    …
python3.x 中需要将上面的逗号,改为as
 

try:
    … 
except NotImplementedError as error:

    …
 
6、线程相关。python2.x中线程模块叫thread . python3.x中线程模块换了名字,叫_thread . python2.x中的Queue模块,在python3.x中叫queue模块。
 
以上就是升级打包工具到python3.4所遇到的几个问题。不过个人觉得,如果没啥必要,还是留在python2.x好了。没必要升级到3.x。毕竟python2.x相关的插件是最多最完善的~
 
如果你在升级python过程中,还遇到了其他的变更修改,请及时告知与我哦,我更新到这里,方便后面其他的小伙伴~ 😯
 

本文出自 U8SDK技术博客,转载时请注明出处及相应链接。

本文永久链接: http://www.uustory.com/?p=1752

评论功能已经关闭,请加入U8SDK技术群进行讨论和咨询:207609068
Ɣ回顶部
U8SDK技术群 x
技术同学请加入
点击加入