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

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

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

相关推荐
qq_5746562519 分钟前
java后端初始化模版
java·开发语言
毕设源码-朱学姐1 小时前
【开题答辩全过程】以 基于JAVA的市级非物质文化遗产交流平台为例,包含答辩的问题和答案
java·开发语言
pedestrian_h2 小时前
操作系统-线程
android·java·开发语言
A-code2 小时前
C/C++ 中 void* 深度解析:从概念到实战
c语言·开发语言·c++·经验分享·嵌入式
gfdgd xi3 小时前
GXDE 内核管理器 1.0.1——修复bug、支持loong64
android·linux·运维·python·ubuntu·bug
国服第二切图仔4 小时前
Rust中泛型函数实现不同类型数据的比较
开发语言·后端·rust
递归不收敛4 小时前
专属虚拟环境:Hugging Face数据集批量下载(无登录+国内加速)完整指南
人工智能·笔记·git·python·学习·pycharm
我是小邵4 小时前
主流数据分析工具全景对比:Excel / Python / R / Power BI / Tableau / Qlik / Snowflake
python·数据分析·excel
技术砖家--Felix4 小时前
Spring Boot入门篇:快速搭建你的第一个Spring Boot应用
java·开发语言·音视频
国服第二切图仔5 小时前
Rust开发之使用Trait对象实现多态
开发语言·算法·rust