PyInstaller 打包 Python 脚本为 .exe 可执行文件闪退、No Model named XXX问题

文章目录

前言

  • 在上一篇文章中,我们介绍了如何将 Python 脚本打包为 .exe 可执行文件,但有时候打包生成的 .exe 文件会出现各种问题,比如.exe 可执行文件闪退、No Model named XXX等问题,今天这篇文章我们来看看如何解决这些问题。

.exe 可执行文件闪退

  • 执行.exe 可执行文件闪退问题我们可以加上 -c 参数(默认打包支持该参数)打包生成一个带有后台的exe文件,让我们可以看到调试信息、报错信息。
  • Tips:一般程序执行很快导致我们可能来不及查看报错信息就程序退出,我们可以在命令行中执行,这样就可以看到完整的报错信息,然后再进一步确认问题。

No Model named XXX

  • PyInstaller 可以使用 -p 命令将脚本所需要的依赖打入到可执行文件中,如下所示:
shell 复制代码
pyinstaller -F -p ***/Lib\site-packages XXX.py

***/Lib\site-packages:依赖包路径

Python 环境问题

  • 有的小伙伴使用上述方式方式打包依赖后可能有时候还是会出现 No Model named XXX 的问题,那么你需要考虑一下是否是环境问题,因为上述 ***/Lib\site-packages 是一个相对路径,相对于当前的 Python 环境下,所以你需要确认你使用的依赖包路径是否你需要环境的依赖包,同时环境不正确也可能导致你的 Python 运行环境不正确从而带来其它一系列问题。

查看当前python路径

shell 复制代码
import sys
sys.executable

查看当前python环境使用的site-package路径

shell 复制代码
import site
site.getsitepackages()

个人简介

👋 你好,我是 Lorin 洛林,一位 Java 后端技术开发者!座右铭:Technology has the power to make the world a better place.

🚀 我对技术的热情是我不断学习和分享的动力。我的博客是一个关于Java生态系统、后端开发和最新技术趋势的地方。

🧠 作为一个 Java 后端技术爱好者,我不仅热衷于探索语言的新特性和技术的深度,还热衷于分享我的见解和最佳实践。我相信知识的分享和社区合作可以帮助我们共同成长。

💡 在我的博客上,你将找到关于Java核心概念、JVM 底层技术、常用框架如Spring和Mybatis 、MySQL等数据库管理、RabbitMQ、Rocketmq等消息中间件、性能优化等内容的深入文章。我也将分享一些编程技巧和解决问题的方法,以帮助你更好地掌握Java编程。

🌐 我鼓励互动和建立社区,因此请留下你的问题、建议或主题请求,让我知道你感兴趣的内容。此外,我将分享最新的互联网和技术资讯,以确保你与技术世界的最新发展保持联系。我期待与你一起在技术之路上前进,一起探讨技术世界的无限可能性。

📖 保持关注我的博客,让我们共同追求技术卓越。

相关推荐
weixin_460443565 小时前
2026年新修订《网络安全法》实施:Java私有化考试系统如何做好SBOM、漏洞治理与安全升级?
java·开发语言·在线考试系统·企业培训考试系统·宏远培训考试系统·国企培训考试系统·国产化培训系统
kobe_OKOK_7 小时前
__getattr__和__getattribute__如何用
python
全栈弄潮儿8 小时前
Python实战第2期: 变量与数据类型
后端·python·agent
长沙三为智能科技8 小时前
家政小程序门店运营模块设计:会员、下单、派单、结算四段链路的落地拆解
python·小程序·内容运营
Cc.Y8 小时前
Java零基础入门:可变字符串与包装类:StringBuilder、StringBuffer 与 通讯录管理系统实战
java·开发语言·python
启观川8 小时前
数据结构与算法 -第 3 章 常用算法-动态规划
数据结构·笔记·python·算法
码爸8 小时前
排序算法介绍
python·算法·排序算法
阿森_dev8 小时前
2027 届毕设选题怎么选:30 个 Java 方向选题的实现难度排序
java·开发语言·spring boot·毕业设计·课程设计
by209998 小时前
C++ 多态:同一个基类接口,调用不同的函数
开发语言·c++·经验分享·多态
笔墨登场说说8 小时前
flink bin/start-cluster.sh 帮我做成开机启动
开发语言·python