脚本.py文件转.exe文件遇见的问题,打开exe文件出现弹窗: No module named ‘xxx‘

目录

  • 1 问题
  • 2 问题分析
  • 3 解决过程
    • 3.1 确保Pillow库存在
    • 3.2 迷惑阶段
    • 3.3 解决问题
  • 4 希望大佬解答

1 问题

今天做了一个使用Python写的脚本文件.py,打算把它转换成.exe文件。点击生成的exe文件时,出现了如下弹窗。
请添加图片描述

2 问题分析

根据错误描述:

Failed to execute script 'version03’due to unhandled exception:No module named ‘PIL’
以及
Traceback(most recent call last):
File “version03.py”,line 3,in
ModuleNotFoundError:No module named ‘PIL’

都在说明,生成的exe文件里缺失了PIL库。

3 解决过程

3.1 确保Pillow库存在

检查自己虚拟环境中是否有Pillow库
打开Anaconda,进入项目所依赖的虚拟环境,列出列表检查Pillow库是否存在

activate virtualName
pip list

显然,库是存在于项目所处的虚拟环境中的
在这里插入图片描述
这期间,我还把脚本发给我的同门帮我生成exe文件,发现他生成的文件并没有出现问题,可以直接执行。

关于Pillow的下载、卸载和更新可以参考这个博主的文章:
报错:ModuleNotFoundError: No module named 'PIL’解决方法

3.2 迷惑阶段

我把涉及的库文件能更新到最新版本的,都更新到最新版本。考虑到我生成了GUI界面,我使用的是thinter库,还有PyQt库等等。于是又把之前版本中使用PyQt库的脚本转换为exe文件,再次点开,发现此时显示的是:缺失PyQt库

此时,我认为一定是什么地方忽略了,导致依赖库没有添加到可执行文件中去。直到我看到了这篇文章
PyQT5打包:用PyInstaller完美打包exe

文章提到:PyInstaller库pandas库分别在全局环境虚拟环境当中,使用PyInstaller打包时,只能在PyInstaller所以处的环境(全局环境)中去寻找程序中import的包。

按照他的办法:

3.3 解决问题

首先:win+r,打开cmd
输入:pip list查看全局环境包含的库文件
在这里插入图片描述

显然,全局环境中没有Pillow库

接下来就简单了,按照大部分常用的办法下载Pillow库

pip install Pillow

然后回到Pycharm的终端中,再次输入py转换exe的命令

pyinstaller --onefile --windowed yourFileName.py

在这里插入图片描述

回车,再次点击生成的exe文件。

在我的这个脚本中,除了Pillow库,还缺失了另一个库。然后再把另一个库也下载到全局环境中就好了。

就可以正常运行了!!!!

4 希望大佬解答

为什么我的虚拟环境中含有程序所需要的所有库,以及转换成exe文件的PyInstaller库,但不能再虚拟环境中转换呢?而要在全局环境中下载相关需要的import库?

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/743881.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

国际黄金在哪里买?

国际黄金可以在以下几个主要的市场和渠道进行购买: 1. 黄金交易所:国际上有多个黄金交易所,其中最知名的是伦敦金属交易所(London Bullion Market Association,简称LBMA)。LBMA是全球最大的黄金交易市场&am…

Arrays --Java学习笔记

Arrays 用来操作数组的一个工具类 Arrays类提供的常见方法: 代码演示: import java.util.Arrays; import java.util.function.IntToDoubleFunction; import java.util.function.IntUnaryOperator;public class Arrays类 {public static void main(Str…

[JAVAEE]—进程和多线程的认识

文章目录 什么是线程什么是进程进程的组成什么是pcb 进程概括线程线程与进程的关系线程的特点 创建线程创建线程方法创建线程的第二种方法对比 其他的方式匿名内部类创建线程匿名内部类创建Runable的子类lambda表达式创建一个线程 多线程的优势 什么是线程 什么是进程 首先想…

设计模式 — — 前端

常见的设计模式 单例模式工厂模式策略模式代理模式观察者模式… 单例模式 保证一个类仅有一个实例,并提供一个访问它的全局访问点。实现的方法为先判断实例存在与否,如果存在则直接返回,如果不存在就创建了再返回,这就确保了一…

扫雷游戏 --- C语言实现

扫雷游戏 test.c — 与游戏相关的逻辑测试 game.c — 与游戏相关的函数实现 game.h — 与游戏相关的函数的声明 //test.c#define _CRT_SECURE_NO_WARNINGS 1#include "game.h"void menu(){printf("******************************\n");printf("******…

OpenCASCADE开发指南<七>:OCC 中的数学基本类型和数学算法

1 标准对象的集合容器 在处理现实问题时,经常将问题抽象成一个数学模型,接着对模型求解, 然后将解提取出来以解决现实问题。 其实在 CAD 软件中, 主要解决的就是数学模型。因此,本节将描述 OCC 的数学基本类型和数学算…

Adb无线连接调试

1.在开发者选项打开usb调试,以及无线调试 2.手机连接wifi,进入设置静态ip地址,网关 3.手机通过usb先连接电脑 4.adb devices命令检查设备连接情况 5.adb tcpip 5555 6.adb -s 255d50d7 tcpip 5555(255d50d7为第4步获取的设备…

JavaWeb06-MVC和三层架构

目录 一、MVC模式 1.概述 2.好处 二、三层架构 1.概述 三、MVC与三层架构 四、练习 一、MVC模式 1.概述 MVC是一种分层开发的模式,其中 M:Model,业务模型,处理业务 V: View,视图,界面展…

【LeetCode每日一题】2789. 合并后数组中的最大元素

文章目录 [2789. 合并后数组中的最大元素](https://leetcode.cn/problems/largest-element-in-an-array-after-merge-operations/)思虑&#xff1a;代码&#xff1a; 2789. 合并后数组中的最大元素 思虑&#xff1a; 1.因为要合并的条件之一是&#xff0c;num[i]<num[i1].所…

5.Python从入门到精通—Python 运算符

5.Python从入门到精通—Python 运算符 Python 运算符算术运算符比较&#xff08;关系&#xff09;运算符赋值运算符逻辑运算符位运算符成员运算符身份运算符运算符优先级 Python 运算符 Python语言支持以下类型的运算符: 算术运算符比较&#xff08;关系&#xff09;运算符赋…

c++11语法特性

c11 1.c11发展简介 ​ 第一个比较正式的c标准是1998提出的c98标准。之后定了5年计划&#xff0c;每5年来一次大更新。在2003年C标准委员会曾经提交了一份技术勘误表(简称TC1)&#xff0c;使得C03这个名字已经取代了C98称为C11之前的最新C标准名称。不过由于C03(TC1)主要是对C…

每日OJ题_哈希表④_力扣219. 存在重复元素 II

目录 力扣219. 存在重复元素 II 解析代码 力扣219. 存在重复元素 II 219. 存在重复元素 II 难度 简单 给你一个整数数组 nums 和一个整数 k &#xff0c;判断数组中是否存在两个 不同的索引 i 和 j &#xff0c;满足 nums[i] nums[j] 且 abs(i - j) < k 。如果存在&am…

RabbitMQ 模拟实现【三】:存储设计

文章目录 数据库设计SQLite配置数据库实现 数据库关于哈希表等复杂类的存储启动数据库 文件设计消息持久化消息属性格式核心方法消息序列化消息文件回收 统一硬盘存储管理内存存储管理线程安全数据结构实现 数据库设计 数据库主要存储交换机、队列、绑定 SQLite 此处考虑的是…

完整的通过git命令框和windows窗口将本地文件上传到gitee远程仓库流程步骤

1.下载git 这个网站搜索git官方&#xff0c;去下载就行了 2.打开git安装后的Git Bash命令框 3.在Git Bash命令框设置一下要远程链接的gitee账号 git config --global user.name “名字”Git config --global user.email “邮箱” 4.查看一下账号设置 git config --global -…

Chitosan-PEG-DSPE 壳聚糖修聚乙二醇磷脂 DSPE-PEG-Chitosan

产品简称&#xff1a;DSPE-PEG-Chitosan、Chitosan-PEG-DSPE、DSPE-PEG-CS、CS-PEG-DSPE 产品中文名称&#xff1a;壳聚糖-聚乙二醇-磷脂、磷脂-聚乙二醇-壳聚糖 分子量&#xff1a;可以根据要求定制 保存条件&#xff1a; -20干燥保存 有效期&#xff1a; 一年 纯度&…

创建SpringCloudGateWay

创建SpringCloudGateWay 本案例基于尚硅谷《谷粒商城》项目&#xff0c;视频27 创建测试API网关 1、创建module 2、引入依赖 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:x…

Spring中的bean相关问题

Spring中的Bean的作用域主要有以下几种&#xff1a; singleton&#xff08;单例&#xff09;&#xff1a;在整个Spring IoC容器中&#xff0c;singleton作用域的Bean只会有一个实例存在。无论多少次请求容器提供该类型的Bean&#xff0c;容器都将返回同一个Bean实例。默认情况…

python中Unicode 数据库访问(Unicode Character Database)

此模块提供了对 Unicode Character Database (UCD) 的访问&#xff0c;其中定义了所有 Unicode 字符的字符属性。 此数据库中包含的数据编译自 UCD 版本 15.0.0。 该模块使用与 Unicode 标准附件 #44 “Unicode 字符数据库” 中所定义的相同名称和符号。 它定义了以下函数&…

WPF制作带图标和文字的按钮模板(通过附加属性实现)

1.界面模板代码部分 <Window.Resources><Style x:Key"IconButton" TargetType"Button"><Setter Property"Template"><Setter.Value><ControlTemplate TargetType"Button"><Border x:Name"borde…