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

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

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

相关推荐
_.Switch几秒前
Python机器学习:自然语言处理、计算机视觉与强化学习
python·机器学习·计算机视觉·自然语言处理·架构·tensorflow·scikit-learn
JUNAI_Strive_ving13 分钟前
番茄小说逆向爬取
javascript·python
彤银浦14 分钟前
python学习记录7
python·学习
落落落sss17 分钟前
MybatisPlus
android·java·开发语言·spring·tomcat·rabbitmq·mybatis
简单.is.good35 分钟前
【测试】接口测试与接口自动化
开发语言·python
Yvemil71 小时前
MQ 架构设计原理与消息中间件详解(二)
开发语言·后端·ruby
程序员是干活的1 小时前
私家车开车回家过节会发生什么事情
java·开发语言·软件构建·1024程序员节
Envyᥫᩣ1 小时前
Python中的自然语言处理:从基础到高级
python·自然语言处理·easyui
哪 吒1 小时前
华为OD机试 - 几何平均值最大子数(Python/JS/C/C++ 2024 E卷 200分)
javascript·python·华为od
我是陈泽1 小时前
一行 Python 代码能实现什么丧心病狂的功能?圣诞树源代码
开发语言·python·程序员·编程·python教程·python学习·python教学