浅谈打包
打包的目的:
- 生成exe可执行文件,方便他人使用
- 编译后再打包,加快运行速度,提高反编译难度
打包的流程:
- 使用Cython将除入口文件外的py文件编译为pyd文件
- 修改pyd文件的文件名,使之除了后缀
pyd
与源文件py
不同,其他都一致 - 在入口的py文件中
import
其他py文件所有import
的包 - 使用pyinstaller进行打包
- 如果有启动不了,取消
-w
参数进行打包,通过命令行启动排错
使用Cython将py文件编译为pyd文件
- 创建
build_pyd.py
文件:
from distutils.core import setup
from Cython.Build import cythonize
setup(
name='words you want',
ext_modules=cythonize(["xxx1.py", "xxx2.py"], language_level=3),
)
- 编译py文件:
python build_pyd.py build_ext --inplace
使用pyinstaller进行打包
- 在入口的py文件中
import
其他py文件所有import
的包 - 开始打包:
打包为文件夹:
pyinstaller -D -w -i xxx.ico xxx.py
打包为单文件:
pyinstaller -F -D -w -i xxx.ico xxx.py
排错
删除打包生成的所有目录及其文件:
- bulid目录
- dist目录
xxx.spec
文件
- 重新打包,不要使用
-w
参数:
pyinstaller -D -i xxx.ico xxx.py
或者
pyinstaller -F -D -i xxx.ico xxx.py
- 命令行启动打包后的exe文件,根据提示信息进行排错即可:
cmd /k xxx.exe
此处评论已关闭