Nuitka打包python为.exe时遇到的坑 |
您所在的位置:网站首页 › python代码封装exe › Nuitka打包python为.exe时遇到的坑 |
一、知乎入坑
写了一个小程序需要打包成exe,试了pyinstaller,打包出来超过1G,看知乎上Nuitka效果很好,决定尝试一下。 作者在使用时设定了非常多的限制条件,比如要用不带Anaconda、多个python版本的电脑,甚至还用上了虚拟机。 我是有Anaconda,决定尝试一下。 二、创建python≤3.8版本虚拟环境因为Anaconda自带的base虚拟环境中python版本3.10,于是在Anaconda Prompt下面使用: conda create -n gui python==3.7创建一个名叫gui的虚拟环境,至于为什么python版本这么低,原因参看链接中Requirements部分 三、安装Nuitka所需的C编译器——Mingw64从这里下载MinGW64,然后选择与Python匹配的64位或32位,一般选择x86_64-win32-sjlj。将其安装到C:\MinGW64或\MinGW64(与Nuitka运行相同的磁盘根目录)以自动找到它。具体安装步骤参考这里第1-3步 四、安装Nuitka进入Anaconda Prompt里面,激活之前的虚拟环境: conda activate gui然后,再安装,如下三选一 pip install nuitka # 或者 python -m pip install nuitka # 或者 conda install -c conda-forge nuitka 五、创建一个hello.py程序 import time def job(): print("hello") if __name__ == "__main__": while True: job() time.sleep(1)加个延时是为了后面显示需要,我看很多示例程序都是只用一句print,打包好程序exe,点击运行一下就退出,根本看不到输出信息。 六、打包利用Anaconda Prompt激活虚拟环境,切换到py程序所在文件夹,然后 nuitka --mingw64 --show-progress --show-scons hello.py 标题七、遇到的坑第一个坑: ModuleNotFoundError("No module named 'colorama'").解决办法: 激活虚拟环境,pip install colorama 第二个坑: Nuitka-Scons:INFO: CC 'C:\\mingw64\\bin\\gcc.exe' version check gives (8, 1, 0) Nuitka-Scons:INFO: Initial CC: 'gcc' Nuitka-Scons:INFO: Initial CCVERSION: (8, 1, 0) Nuitka-Scons:INFO: Checking usability of 'C:\\mingw64\\bin\\gcc.exe' from 'gcc' Nuitka-Scons:INFO: Too old gcc 'C:\\mingw64\\bin\\gcc.exe' ((8, 1, 0) |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |