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

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

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

相关推荐
奶香臭豆腐3 分钟前
C++ —— 模板类具体化
开发语言·c++·学习
晚夜微雨问海棠呀10 分钟前
长沙景区数据分析项目实现
开发语言·python·信息可视化
graceyun11 分钟前
C语言初阶习题【9】数9的个数
c语言·开发语言
cdut_suye20 分钟前
Linux工具使用指南:从apt管理、gcc编译到makefile构建与gdb调试
java·linux·运维·服务器·c++·人工智能·python
dundunmm43 分钟前
机器学习之scikit-learn(简称 sklearn)
python·算法·机器学习·scikit-learn·sklearn·分类算法
古希腊掌管学习的神44 分钟前
[机器学习]sklearn入门指南(1)
人工智能·python·算法·机器学习·sklearn
波音彬要多做1 小时前
41 stack类与queue类
开发语言·数据结构·c++·学习·算法
Swift社区1 小时前
Excel 列名称转换问题 Swift 解答
开发语言·excel·swift
一道微光1 小时前
Mac的M2芯片运行lightgbm报错,其他python包可用,x86_x64架构运行
开发语言·python·macos
矛取矛求1 小时前
QT的前景与互联网岗位发展
开发语言·qt