爱净意的个人技术博客
你的位置:爱净意»计算机»

[计算机]关于python编译的一点小结

by 梁凯

大家都知道python是脚本语言,源码可以直接执行,有时需要提高执行效率或者保密(因为有时候不想让使用人看到源码文件),那就涉及到python编译了,那么该如何做呢?

有两种方法可以做到。

1、一种是直接使用命令编译成pyc或者pyo文件。

新建test.py文件,代码如下:

#!/usr/bin/python
print "hello world!"

编译成pyc文件使用命令:

python -m py_compile test.py

-m py_compile是加载py_compile编译模块的意思,可以看到当前目录下生成了test.pyc文件

编译成pyo文件使用命令:

python -O -m py_compile test.py

可以看到当前目录下生成了test.pyo文件。

这时使用vim打开文件时可以看到里面是乱码,可以达到部分源码隐藏的目的,说是“部分”是因为仍然可以看到部分源码,使用反编译软件也可以看到源码。但总可以吓唬一下小白了。

2、另一种是使用pyinstaller工具编译成可执行程序

使用pip install pyinstaller命令安装pyinstaller工具。此工具可以把python文件打包成二进制的包。

方法:

pyinstaller -F test.py

-F命令是为了打成一个包,把一些库文件也放到一起。不用的话可执行文件和库文件分开,不利于使用。

可以看到当前目录下生成了distbuild两个文件夹。dist下有test二进制文件。此方法可以达到完全加密的目的。

总结:第一种方法比较简单易用,但是只能部分加密。第二种方法安全可靠,完全加密。但是两种方法都存在一个问题,就是兼容性太差,使用python2.6编译的程序放到2.7版本上就不能执行了。可执行文件也是这样,在iSoft Server 4.0上编译的可执行文件到iSoft Server 3.2上也不能执行了。所以打算在不同平台使用的python脚本这种方法不太好用,python兼容性差是个通病,还是c/c++好呀。

我最近就是打算加密一个python文件,最后因为兼容性的问题只好作罢了。不知道大家有没有更好的方法呢?要求加密python源码,而且保证可以正常执行。

 

作者: kevin
« »
除非注明,爱净意文章均为原创,转载请以链接形式标明本文地址
本文地址:http://aijingyi.com/2017/05/02/%e5%85%b3%e4%ba%8epython%e7%bc%96%e8%af%91%e7%9a%84%e4%b8%80%e7%82%b9%e5%b0%8f%e7%bb%93/
  • 拓展阅读:
  • 暂无相关文章

欢迎您发表评论:

 站内搜索

邮件订阅  预览

点击这里给我发消息 点击这里给我发消息

友情链接(不分先后)

控制面板

图标汇集

  • 爱净意
  • 文章导航
© 2020 爱净意 版权所有
自豪地采用 WordPress | 使用仿月光博客主题 | 页面装载时间:0.516毫秒,36查询