必须记录下pyinstaller not module 以及其他电脑运行不了的问题了

题记

已经不知道多少次遇到pyinstaller 打包后其他电脑运行不了的问题了,每次都折腾的半死,网上没有一个可以帮助到自己的

相关介绍

pyinstaller 的打包模式有:
-F 指令打包:   会将所有文件放到exe中,也就是会把项目打包成单exe文件。
-D 指令打包:  会将项目打包到一个文件夹中,运行的时候要整个文件夹运行。

打包错误:
在生成的build文件夹中的warinning文件中查看。

坑1: not module 的坑。

网上常说not module的坑,执行 pyinstaller的 -F命令就可以解决。或者在生成的spechiddenimports中加入项目相关依赖可以解决。然而,我用pycharm还是总是出这个问题。

最后:发现自己很坑的一点是。
在pycharm中创建项目时,项目用的 python地址和 本地环境的 python地址不一致。。。。
此处查看。
在这里插入图片描述
需要确保自己的本地python环境有项目的相关依赖。
在这里插入图片描述

可以在设置中进行环境切换。

坑2:部分机子运行不了,部分机子运行的了。

  1. 有的机子运行不了,需要重新安装vc_redist.x64,检测设备环境,有的设备缺失api-ms-win-crt-runtime-dll-v3.dll需要重新修复。
  2. 修复后还是运行不了,报 什么 Excute failed scripet之类的,检查生成的build文件夹中是否有module没有打包进去。然后在 生成的.spec文件中进行添加.

在这里插入图片描述

需注意重新打包后,改文件又会重置!!

然后,其他的网上基本都有。

资源:
vc_redistx以及api-ms-win-crt-runtime-l1-1-0.dll.zip

PyInstaller 是一个用于将 Python 脚本打包成可执行文件的工具,但有时会出现“missing module”的错误。 当出现这个错误时,通常意味着 PyInstaller 没有正确识别或将某个模块打包进入可执行文件中。为了解决这个问题,可以考虑以下几个步骤: 1. 确保所使用的模块已经正确安装在您的 Python 环境中。可以通过 pip 或其他管理工具来安装缺失的模块。 2. 检查您的代码中是否使用了该缺失模块。特别是如果您在代码中动态导入模块或使用模块的某些特定功能,可能需要在 PyInstaller 的 spec 文件中明确指定该模块。 3. 创建一个 spec 文件来指定需要打包的模块。spec 文件可以手动创建,也可以通过运行命令 "pyi-makespec" 来自动生成。在 spec 文件中,您可以明确指定要打包的模块,以及其他相关的配置选项。 4. 使用命令 "pyinstaller" 来打包您的代码。在打包过程中,PyInstaller会根据 spec 文件中的配置选项来进行操作。 5. 打包完成后,您可以在生成的可执行文件所在的目录中找到运行文件。尝试直接运行该文件,看是否仍然出现“missing module”的错误。 如果上述步骤无法解决问题,您还可以尝试使用其他的打包工具,例如 cx_Freeze 或 py2exe,以查看是否可以顺利打包含所需模块的可执行文件。此外,社区中也有许多关于 PyInstaller问题和解决方法的讨论,您可以在这些资源中找到更多的帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值