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编程。

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

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

相关推荐
站大爷IP11 分钟前
Java调用Python的5种实用方案:从简单到进阶的全场景解析
python
用户8356290780516 小时前
从手动编辑到代码生成:Python 助你高效创建 Word 文档
后端·python
侃侃_天下6 小时前
最终的信号类
开发语言·c++·算法
c8i6 小时前
python中类的基本结构、特殊属性于MRO理解
python
echoarts6 小时前
Rayon Rust中的数据并行库入门教程
开发语言·其他·算法·rust
liwulin05066 小时前
【ESP32-CAM】HELLO WORLD
python
Aomnitrix6 小时前
知识管理新范式——cpolar+Wiki.js打造企业级分布式知识库
开发语言·javascript·分布式
Doris_20237 小时前
Python条件判断语句 if、elif 、else
前端·后端·python
Doris_20237 小时前
Python 模式匹配match case
前端·后端·python
每天回答3个问题7 小时前
UE5C++编译遇到MSB3073
开发语言·c++·ue5