python-发布程序
注意 win7 需要 Windows6.1-KB2533623-x64.msu 补丁
打包为可执行文件以便分发。
PyInstaller – 将 Python 程序转换成独立的执行文件(跨平台)。
dh-virtualenv – 构建并将 virtualenv 虚拟环境作为一个 Debian 包来发布。
Nuitka – 将脚本、模块、包编译成可执行文件或扩展模块。
py2app – 将 Python 脚本变为独立软件包(Mac OS X)。
py2exe – 将 Python 脚本变为独立软件包(Windows)。
pynsist – 一个用来创建 Windows 安装程序的工具,可以在安装程序中打包 Python本身。
Nuitka
Nuitka直接将python编译成C++代码 ,再编译C++代码产生可执行文件,完全不存在反向解析的问题,非常安全,而且由于可执行文件由C++编译而来,运行速度也会获得提升。
下载MinGW64 8.1(MinGW编译器比MSVS编译器要快,并且不需要下载一堆20多G的安装文件到C盘)
解压后放在C盘目录下,查询gcc.exe是否有效 gcc.exe –version
设置环境变量
查看相关信息
python -m nuitka –version
python -m nuitka –plugin-list
pip install nuitka |
编译 pyd
如果 pyd 调用有问题,可以尝试一下 cpython 生成 pyd
nuitka --mingw64 --module --show-progress --output-dir=o 你的.py |
pyinstaller
pip install pyinstaller
pyinstaller -y --upx-dir E:\green\upx-3.96-win64\ --clean --onefile MainWindow.py |
问题
Could not find the matplotlib data files
当前版本 3.3.7 降级据说可以
pip install matplotlib==3.0.3 -i https://pypi.tuna.tsinghua.edu.cn/simple –user
pip install matplotlib==3.1.3
pip install matplotlib==3.2.2