当前位置:首页 » 编程软件 » 如何编译python程序

如何编译python程序

发布时间: 2024-06-16 16:43:48

python程序代码混淆、编译、打包、运行(桌面程序防破解向)

像Python这种解释性的语言,要想私有化部署的同时又保护好源码,就像是对于鱼和熊掌的追求。

虽然做不到尽善尽美,但是对代码进行混淆,增加一点破解的难度,或许能规避一些泄露的风险。

本次演示环境:linux

确保要发布的包根目录("demo")中有__main__.py文件,这个是程序执行入口。

编译

批量改名.pyc文件

移动.pyc文件

清理.py文件

清理__pycache__文件夹

打包成zip

运行时只要将zip文件作为参数即可

最终整合脚本

调用方式

对于在变量和函数名上的混淆有点小儿科,而对于跨文件的类名的混淆又太容易实现。

所以对于混淆程度的取舍,要视工程的规模而定。

2.1 混淆工具pyminifier

在原来的工具 pyminifier上修复了几个bug。

安装:

python3 安装

或者clone下来,自行安装

使用例子

2.2 源码变更

不同的配置对于源码的要求不同,以下是笔者踩过的坑。

其他混淆想法

结合混淆、编译和打包,尝试出以下发布脚本。

主要的思路 :创建一个工作目录tmp,然后在此目录下混淆、编译python代码,完成后把内容打包成pyc文件,再将pyc文件和其他配置文件移动到dist,发布dist即可。

混淆的目的是最大程度保护源码,在发布到客户端后不被轻易破解。

㈡ ubuntu鍙浠buildpython绋嫔簭钖

鎭ㄦ兂闂镄勬槸ubuntu鍙浠ュ垱寤簆ython绋嫔簭钖楋纻鍙浠ワ纴镙规嵁镆ヨ㈠崥瀹㈠洯鏄剧ず銆
1銆佸嗳澶囧ソpython婧愮爜鍖呫
2銆佸惎锷ㄩ暅镀忓苟鎸傝浇python婧愮爜鍖呮墍鍦ㄧ殑鐩褰曘
3銆佸畨瑁呯紪璇戝拰姝e父杩愯宲ython镓闇镄勭浉鍏冲簱銆
4銆佺紪璇戝畨瑁卲ython銆
5銆乴ink鍙镓ц屾枃浠跺埌绯荤粺镄勭幆澧冨彉閲忚矾寰勚

㈢ 怎么用codeblocks打开python代码并编译运行

环境配置:

使用IDE: Code::Blocks,在编译时需要连接python的库,setting->complier and debugger setting->Linker setting->Link Libraries, 增加两个库python25.lib, libpython25.lib。 或者在Build option里面设置linker setting也可。

㈣ python如何编译

1、说明

编译python程序就是把python脚本转换成操作系统中的可执行文件,一般使用pyinstaller来完成。

2、步骤

(1)安装pyinstaller

使用pip install pyinstaller命令来安装

(2)编译脚本

python安装目录scriptpyinstaller 脚本文件名

(3)完成

执行脚本后就可以在脚本目录生成dist目录,目录就有打包好的可执行文件

3、备注

pyinstaller参数

-w指令

直接发布的exe应用带命令行调试窗口,在指令内加入-w命令可以屏蔽。

-F指令

注意指令区分大小写。这里是大写。使用-F指令可以把应用打包成一个独立的exe文件,否则是一个带各种dll和依赖文件的文件夹。

-p指令

这个指令后面可以增加pyinstaller搜索模块的路径。因为应用打包涉及的模块很多。这里可以自己添加路径。不过经过笔者测试,site-packages目录下都是可以被识别的,不需要再手动添加。

python学习网,大量的免费python视频教程,欢迎在线学习!

㈤ 如何编译Python使之成为可执行程序

Python是一个强大的工具,可惜不是每个人的计算机里面都有安装。当您写了一个好用的工具。要如何让那些没有安装Python的人使用你的工具呢?
对于这样一个需要standalone exectuable环境的需求,直到撰写经验为止,只看到两个比较好用且有持续维护的套件。一个是py2exe。另外一个就是本经验要介绍的PyInstaller。
1
PyInstaller安装

2

最新版本:PyInstaller 2.0
3

直接“解压缩”之后即可使用,解压到您想让他在的路径即可
END

PyInstaller配置

1
事先写好py程序
2

在命令行执行:python Makespec.py --console --onefile NotePad\notepad.py
报错:Configfile is missing or unreadable. Please run Configure.py before building
3

在命令行执行:Configure.py
报错:Python 2.6+ on Windows support needs pywin32,Please install http://sourceforge.net/projects/pywin32/
4

安装最新版本的 pywin32-217.win32-py2.7.exe
END

PyInstaller使用

命令行中运行
目录切换到PyInstaller的安装目录“E:\pyinstaller-1.5\pyinstaller-1.

在PyInstaller的安装目录下新建一个文件夹(比如NotePad), 然后将要转换的py脚本放到文件夹里(notepad.py)
E:\pyinstaller-1.5\pyinstaller-1.5>python Makespec.py --console --onefile NotePad\notepad.py

E:\pyinstaller-1.5\pyinstaller-1.5>python Build.py NotePad\notepad.spec

验证exeE:\pyinstaller-1.5\pyinstaller-1.5>

E:\pyinstaller-1.5\pyinstaller-1.5\NotePad\dist\notepad.exe 0 0 100(成功)

查看生成的文件,生成的中间文件spec
查看生成的文件,生成的最终文件exe

END

注意事项

在转换之前要确保py程序可以正常通过
如果转换过程中出现什么错误,用搜索引擎搜索解决一下

热点内容
php55linux 发布:2024-06-25 14:18:32 浏览:840
数据库水果 发布:2024-06-25 14:18:25 浏览:259
计算机和脚本语言的区别 发布:2024-06-25 14:14:24 浏览:140
命令连接ftp 发布:2024-06-25 14:11:52 浏览:50
excel导入数据库c 发布:2024-06-25 14:01:45 浏览:364
iisphp验证码不显示 发布:2024-06-25 13:33:12 浏览:87
电脑什么病毒会让电脑突然有密码 发布:2024-06-25 13:07:53 浏览:995
phpnow 发布:2024-06-25 13:07:14 浏览:557
c语言字符用什么 发布:2024-06-25 12:58:25 浏览:667
工银融e联的动态密码是什么 发布:2024-06-25 12:49:25 浏览:266