这次继续以下内容:
- 去掉命令行
- 指定密码来增加反编译难度
- 指定可执行文件名
- 设置图标
- 清空上一次编译生成的各种文件
去掉命令行:
交给客户的产品,当然不能有命令行,除非特殊需要。
有一点你要知道:命令行这个只会出现在windows系统下
在windows下,pyinstaller 打包命令只需加个 -w 就能去掉了!这次我们进入demo.py目录,输入 pyinstaller -w demo.py 即可,这一次没看见命令行了。
指定密码来增加反编译难度:
pyinstaller 命令里得 --key 用于加密Python字节码的密钥,来增加反编译的难度。
这次我们进入demo.py目录,输入 pyinstaller -w --key #@!#@!# demo.py,执行后出现提示
需要安装tinyaes,那么输入 pip install tinyaes 安装.
我使用了清华源,你可以使用 -i 在本次使用: pip install tinyaes -i https://pypi.tuna.tsinghua.edu.cn/simple
安装完后继续输入刚才的命令执行。运行跟刚才一样没什么问题!
指定可执行文件名:
也许你不希望是这个默认的名字作为可执行文件名,那么使用 -n 即可。
这次我们进入demo.py目录,输入 pyinstaller -w --key #@!#@!# -n mydemo demo.py 执行。
dist目录出现一个新的mydemo的文件夹
进去看看,可执行文件已经更名为 mydemo.exe,运行效果不变。
设置图标
桌面应用程序,别人都有自己的图标。那么使用 -i 指定图标路径。
使用ico格式,但是你要知道仅对 Windows 有效。
那么准备一个ico格式的图标,路径在 C:\Users\Admin\Pictures\b2.ico
这次我们进入demo.py目录,输入 pyinstaller -w --key #@!#@!# -n mydemo -i C:\Users\Admin\Pictures\b2.ico demo.py 执行。我们的命令越来越多了,但只要明白每个参数的意义就不怕。
进入dist的mydemo目录看下,可执行文件的图标,竟然没变,不科学。
其实已经没问题了,你把这个文件夹整个拷贝到桌面,进入看一下,果然变了。为啥,我认为是windows对图标缓存导致的,并未深究。
清空上一次编译生成的各种文件:
那么 --clean 和 -y 就上场了。
--clean 在本次编译开始时,清空上一次编译生成的各种文件。即清空build目录里的文件。
-y 如果dist文件夹内已经存在生成文件,则不询问用户直接覆盖。
所以一个是 --clean是对buid文件夹,-y是对dist文件夹。
细心的同学在打包“设置图标”就注意到了,命令执行后,pyinstaller会询问你是否覆盖上次的结果,让你输入y或n来决定。
这次我们进入demo.py目录,输入 pyinstaller --clean -y -w --key #@!#@!# -n mydemo -i C:\Users\Admin\Pictures\b2.ico demo.py 执行,结果跟上次的一样。
好,本次的介绍就完了。
下一节,我们继续讲解:当你有多个虚拟环境时如何指定python导入模块的路径。