pyinstaller 打包python程序并加密

pyinstaller 打包python程序并加密

参考文章:Pyinstaller各参数的意义 - 华为云 (huaweicloud.com)

环境

  1. python3.7
  2. windows10

为什么没有使用 py2exe 了,本质是想只打包成一个 exe 文件,但是按照网上的各种方法测试,都没有成功,只能转战 pyinstaller 了

步骤

首先,安装包:

pip3 install pyinstaller

打包具体使用到的命令:

pyinstaller -F -c --key=qwertyuiop --add-data=config.ini;. --add-data=Packet.json;. -n=OBU上位机测试程序 main.py
#具体的参数解释上面的参考文章里面有解释,接下来主要介绍下上面命令使用到的
-F: 所有文件打包生成一个 exe 文件
-c: 显示命令行窗口,与之相对的,
-w: 不显示命令行窗口
--add-data: 添加资源文件,需与后面方法结合使用了,形式src;dst,src:其在源程序中的位置,dst:打包后的文件存放位置,在使用时,需要与下面resource_path函数结合使用。

--key: 加密用的字节码
-n: 指定生成程序名字
最后是入口函数

遇到比较难解决的部分就是资源路径改变的问题了,接下来进行描述。

#relative_path: 资源在源程序中的位置
#使用时,对于上面--add-data 增加的文件,在源程序中调用时,均需要调用resource_path来改变路径了。
#例如在我的程序中就加了这样一个代码:
#config_file_path = resource_path(config_file_path)

def resource_path(relative_path):
    if getattr(sys, 'frozen', False): #是否Bundle Resource
        base_path = sys._MEIPASS
    else:
        base_path = os.path.abspath(".")
    return os.path.join(base_path, relative_path)

加密使用上面的 --key 指定加密字节码就可以了,虽然网上有部分说这种破解很简单,但是各种加密方法都是”防君子,不防小人“,我们做到对源程序有一点加密就可以了。

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值