PyInstaller可以做什么事情?

  • 把python程序打包为一个可执行文件!Windows下为exe,Linux下是可见颜色为绿色的可执行文件。Windows下还可以设置可执行文件的图标!
  • 把python程序打包成一个文件夹。

这样做是即隐藏代码,客户也不需要安装代码所依赖的各种库,拿到可执行文件直接就可以执行!

Cython也可以代码加密,但依赖环境还需要安装的,这是区别。

可用的操作系统:

Windows、Mac OS X和Linux上都可以使用pyinstaller!

但并不是打包一个后每个平台都可以用,它需要你再每个平台重新操作一遍。Windows下打包一次,Mac下还需要来一遍,Linux又来一遍!

PyInstaller安装:

pip install pyinstaller

不指定版本的话,默认安装最新的,同时还会自动安装 pyinstaller-hooks-contrib。

pyinstaller -v 可查看版本来验证安装结果,当前最新版本是4.1

PyInstaller简单使用:

这里写一个简单的pyqt5的界面来做演示,文件名为demo.py,代码如下:

# -*- coding: utf-8 -*-
"""
@author: wind
@contact: 367059791@qq.com
@time: 2020/12/30 11:21
@file: demo.py
@desc: 
"""

import sys
from PyQt5.QtWidgets import QApplication, QWidget

if __name__ == '__main__':
    app = QApplication(sys.argv)
    demo = QWidget()
    demo.setWindowTitle('Demo')
    demo.show()
    sys.exit(app.exec_())

运行效果:

打包成一个文件夹

先进入demo.py所在的目录,再输入pyinstaller demo.py即可

然后你会在demo.py下看到多了2个文件夹,一个是dist,一个是build。

build打包过程中产生的,再执行一次会直接使用它作为缓存,你可以选择不使用,后面会介绍。

你想要的文件就在dist下面,跟demo.py同名的文件夹。进入后有一个可执行文件,Windows为例,demo.exe,点击可执行运行。

你会看到一个界面和一个cmd命令行,命令行可用来调试,因为有时候打包后启动会有问题,报错信息会出现在这。

打包成一个可执行文件

同样先进入demo.py所在的目录,再输入pyinstaller -F demo.py即可。加个 -F就行了。

dist目录下出现了一个demo.exe,不再是文件夹。直接运行它,跟上面的结果一样。

下一节,我会继续讲解,比如:去掉命令行,指定密码来增加反编译难度,指定可执行文件名,设置图标,清空上一次编译生成的各种文件等

源文章:https://blog.csdn.net/u012219045/article/details/111949797?spm=1001.2014.3001.5501