[发明专利]一种跨平台移植python程序的方法及装置在审
申请号: | 201410339009.5 | 申请日: | 2014-07-16 |
公开(公告)号: | CN105260169A | 公开(公告)日: | 2016-01-20 |
发明(设计)人: | 严勇文 | 申请(专利权)人: | 中兴通讯股份有限公司 |
主分类号: | G06F9/44 | 分类号: | G06F9/44 |
代理公司: | 北京银龙知识产权代理有限公司 11243 | 代理人: | 许静;黄灿 |
地址: | 518057 广东省深圳市南山*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 平台 移植 python 程序 方法 装置 | ||
1.一种跨平台移植python程序的方法,其特征在于,包括:
利用python的本地编译工具编译本地机的python程序,得到本地机版本的pgen程序;其中,本地机版本的pgen程序是所述本地编译工具在编译python程序过程中产生且必需执行的程序;
在本地机上利用python的交叉编译工具编译目标机的python程序,并在该过程中使用本地机版本的pgen程序代替目标机版本的pgen程序在本地机上执行,从而得到目标机的python程序的编译文件;其中,所述目标机版本的pgen程序由所述交叉编译工具在编译python程序过程中产生,且无法在本地机上执行;
将所述目标机的python程序的编译文件导入目标机中或通过远程服务向目标机提供所述编译文件。
2.根据权利要求1所述的方法,其特征在于,在本地机上利用修改后的python编译工具编译目标机的python程序的步骤包括:
修改所述本地机版本的pgen程序的时间戳,并将其保存在本地机的目标文件夹中;
在所述目标文件夹中使用所述交叉编译工具编译目标机的python程序;其中,交叉编译工具在所述目标文件夹中生成的目标机版本的pgen程序无法覆盖掉时间戳已修改的本地机版本的pgen程序,从而在编译目标机的python程序中,本地机能够执行时间戳已修改的本地机版本的pgen程序,得到目标机的python程序的编译文件。
3.根据权利要求1所述的方法,其特征在于,将所述编译文件导入目标机中的步骤前还包括:
对所述编译文件进行裁剪,只保留其中的bin文件夹和lib文件夹;其中,所述bin文件夹用于保存目标机的python程序的二进制文件,所述lib文件夹用于保存目标机的python程序的库文件。
4.根据权利要求3所述的方法,其特征在于,对所述编译文件进行裁剪的步骤还包括:
删除lib文件夹中的.py类型和/或.pyo类型文件;
和/或删除目标机的python程序的调试功能。
5.根据权利要求1所述的方法,其特征在于,将所述编译文件导入目标机中的步骤前还包括:
使用upx文件压缩器对所述编译文件进行压缩。
6.根据权利要求5所述的方法,其特征在于,所述交叉编译工具能够编译具有读取zip压缩包能力的python程序;
在使用upx文件压缩器对所述编译文件进行压缩的步骤后还包括:
利用zip压缩软件对lib文件夹中的python库文件夹进行压缩,得到python库文件夹的zip压缩包;之后
对源python库文件夹进行裁剪,只保留其中的os.pyc文件。
7.一种跨平台移植python程序的装置,其特征在于,包括:
本地编译模块,用于利用python的本地编译工具编译本地机的python程序,得到本地机版本的pgen程序;其中,本地机版本的pgen程序是所述本地编译工具在编译python程序过程中产生且必需执行的程序;
交叉编译模块,用于在本地机上利用python的交叉编译工具编译目标机的python程序,并在该过程中使用本地机版本的pgen程序代替目标机版本的pgen程序在本地机上执行,从而得到目标机的python程序的编译文件;其中,所述目标机版本的pgen程序由所述交叉编译工具在编译python程序过程中产生,且无法在本地机上执行;
导入模块或远程服务模块;其中,所述导入模块用于将所述目标机的python程序的编译文件导入目标机中;所述远程服务模块,用于通过远程服务向目标机提供所述编译文件。
8.根据权利要求7所述的装置,其特征在于,所述交叉编译模块包括:
修改子模块,用于修改所述本地机版本的pgen程序的时间戳,并将其保存在本地机的目标文件夹中;
交叉编译子模块,用于在所述目标文件夹中使用所述交叉编译工具编译目标机的python程序;其中,交叉编译工具在所述目标文件夹中生成的目标机版本的pgen程序无法覆盖掉时间戳已修改的本地机版本的pgen程序,从而在编译目标机的python程序中,本地机能够执行时间戳已修改的本地机版本的pgen程序,得到目标机的python程序的编译文件。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中兴通讯股份有限公司,未经中兴通讯股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410339009.5/1.html,转载请声明来源钻瓜专利网。