1.说明
写好的Python程序如果想要拿到其他电脑上运行,那还得安装一下Python环境和各种库,这是比较麻烦的,所以有必要把它打包成一个可执行的exe文件。可以打包exe的库有好多个,比如说pyinstaller、cx_Freeze等。
pyinstaller打包比较简单,如果有需要可以参考之前的文章【Python】使用pyinstaller打包Python程序为EXE可执行程序
但是使用pyinstaller打包出来的程序被360报毒了(主要是我的代码有系统权限操作,会触发报毒机制),后来换成nuitka打包就没有报毒
2.安装环境
最方便的安装方式就是使用pip安装
pip install nuitka
因为nuitka是通过c++的方式进行编译的,所以还需要c++的编译环境,可以手动安装一下
下载链接:https://winlibs.com/#download-release
建议下载压缩包版,之后手动添加到环境变量,即在cmd输入gcc -v
能看到版本信息就应该没问题了
其实不手动安装也行,因为使用nuitka的时候它检测到没有安装就会提示你安装了,到时候输入"yes"就会自动安装了
3.打包
在cmd使用nuitka命令加上要打包的py文件就行了,当然,我们需要看看它有哪些好用的选项nuitka --help
就能看到用法,这里列出几个比较常用的选项
选项 | 说明 |
---|---|
--standalone |
打包成单独的程序(可以拿到其他电脑使用) |
--enable-plugin |
指定需要加载的插件,比如说tk-inter、pyqt5等 |
--plugin-list |
查看支持的插件 |
--output-dir |
输出目录,不指定则是当前工作目录 |
--onefile |
打包成一个文件,即把全部文件压缩成一个(默认是多个文件和文件夹) |
--windows-disable-console |
隐藏控制台窗口 |
--show-progress |
显示打包进度 |
--show-memory |
显示内存占用情况 |
--remove-output |
打包结束之后自动清理build文件夹 |
--windows-icon-from-ico |
指定程序图标(针对Windows系统) |
--mingw64 |
指定使用MinGW6编译(默认是MSYS2) |
--msvc |
指定使用MSVC的版本,不指定则使用系统默认版本 |
--company-name |
公司名 |
--product-name |
产品名 |
--file-version |
文件版本,最多4个数字序列,例如1.0、1.0.0.0 |
--product-version |
产品版本,规则与–file-version相同 |
--file-description |
文件描述 |
下面给出几个命令案例吧文章来源:https://www.toymoban.com/news/detail-822734.html
# 使用默认参数打包file_downloader.py
nuitka --standalone "E:\python_downloader\file_downloader_gui.py"
# 指定使用MinGW6编译,使用tkinter插件,隐藏控制台,指定程序图标
nuitka --standalone --mingw64 --enable-plugin=tk-inter --windows-disable-console --windows-icon-from-ico="E:\python_downloader\images\ico\file_downloader.ico" "E:\python_downloader\file_downloader_gui.py"
# 显示进度、内存信息,清理build文件夹
nuitka --standalone --windows-disable-console --show-progress --show-memory --remove-output "E:\python_downloader\file_downloader.py"
# 设置产品信息
nuitka --standalone --company-name=icy --product-name=file_downloader --file-version=1.0 --product-version=1.0 --file-description="多线程下载器" "E:\python_downloader\file_downloader_gui.py"
# 把需要的都加上吧
nuitka --standalone --mingw64 --enable-plugin=tk-inter --windows-disable-console --show-progress --show-memory --remove-output --windows-icon-from-ico="E:\python_downloader\images\ico\file_downloader.ico" --company-name=icy --product-name=file_downloader --file-version=1.0 --product-version=1.0 --file-description="多线程下载器" "E:\python_downloader\file_downloader_gui.py"
提示:如果编译得到的exe文件无法打开(闪退),很有可能是缺少某些文件或者模块,可以在cmd窗口运行exe文件这样能看到报错信息文章来源地址https://www.toymoban.com/news/detail-822734.html
到了这里,关于【Python】使用nuitka打包Python程序为EXE可执行程序的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!