一键式Excel分词统计工具:如何轻松打包Python脚本为EXE

这篇具有很好参考价值的文章主要介绍了一键式Excel分词统计工具:如何轻松打包Python脚本为EXE。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

写在最前面

最近,表姐遇到了一个挑战:需要从Excel文件中统计出经过分词处理的重复字段,但由于数据隐私问题,这些Excel文件不能外传。这种情况下,直接使用Excel内置功能好像是行不通的,需要借助Python脚本来实现。

为了解决这个问题,我写了一个简单的数据分析和自动化办公脚本,以方便使用。想象一下,即使电脑上没有安装Python,也能通过一个简单的EXE文件轻松完成工作,这是多么方便!

因此,我决定不仅要写出这个脚本,还要学会如何将其打包成一个独立的EXE文件。这样,无需Python环境的电脑也能直接运行它。

(ps:高估自己了,各种配置环境加一起,加上解决各种报错,完成时间:3h
参考这篇文档,预计完成时间:20min左右,因为新建conda环境、打包都需要时间

因此上传了这次打包的资源,有需要可以自行下载:

需求分析

让我们先来看看这个工具的基本和高级功能:

基础功能

  • 读取Excel文件。
  • 进行分词处理。
  • 统计词频,并保存结果。

优化功能

  1. 文件预览:在图形用户界面(GUI)中添加了一个部分,用以展示所选Excel文件的前五行数据。
  2. 字段选择自由度:增加了一个下拉菜单,让用户可以自由选择要进行分词统计的字段。
  3. 错误处理:在处理数据之前,我添加了一些检查程序来确保用户已正确选择了字段。
  4. 智能命名:保存文件时,默认文件名将设置为选定字段的名称,简化了操作过程。

通过这些功能的优化,用户可以更加方便快捷地完成他们的任务。

接下来,我将分享打包Python脚本为EXE文件的具体步骤,让您也能轻松制作出自己的工具。

直接用Python打包为什么大?为什么要使用conda环境?

参考:https://blog.csdn.net/libaineu2004/article/details/112612421

在压缩打包之前,先简单说一下为什么Python打包过大?

Python打包exe,不但体积大而且运行奇慢。解释型语言大都是这个样子,只不过Python尤其突出。要解决大而慢,只能用编译型语言,如C,C++,甚至VB都好很多,体积最小的是汇编。

此外,还有知乎大佬说是因为“Anaconda里内置了很多库,打包的时候打包了很多不必要的模块进去,要用纯净的Python来打包。”

所以我们可以模拟一个新环境,其中只安装我们本次打包所必要的工具包即可。

那最适合的就是——虚拟环境了!

现在让我们正式开始吧 !

将Python脚本打包为一个独立的应用程序

要创建一个可以在没有Python环境的电脑上运行的程序,我们需要将Python脚本打包为一个独立的应用程序。步骤如下:

  1. 编写Python脚本:首先,需要一个完整的Python脚本,它能够读取Excel文件、进行分词和词频统计,并保存结果。

  2. 图形用户界面(GUI):为了更可以方便地使用这个程序,可以创建一个简单的图形用户界面,其中包括文件上传、字段选择和一个按钮来生成结果。

  3. 打包为可执行文件:使用诸如PyInstaller或cx_Freeze等工具,将Python脚本和所有必要的库打包为一个可执行文件(.exe)。这样,就不需要安装Python环境。

  4. 分发应用程序:将生成的.exe文件发送给朋友,她可以在自己的电脑上直接运行它。

1. 编写Python脚本:初步功能实现

一键式Excel分词统计工具:如何轻松打包Python脚本为EXE,蓝桥杯python,# 实践,excel,python,开发语言,经验分享,笔记,学习,生活

2. 初步图形用户界面(GUI)

一键式Excel分词统计工具:如何轻松打包Python脚本为EXE,蓝桥杯python,# 实践,excel,python,开发语言,经验分享,笔记,学习,生活

功能优化

  1. 选择文件后预览表格的前五行:在GUI中添加一个部分来显示所选Excel文件的前五行数据。
  2. 自由选择对Excel的哪个字段进行统计:添加一个下拉菜单以选择要统计的特定字段。
  3. 添加错误处理:在处理数据之前,添加一些检查来确保用户已正确选择列。
  4. 保存的文件名默认为字段名称:在保存文件对话框中,将默认文件名设置为选定字段的名称。

一键式Excel分词统计工具:如何轻松打包Python脚本为EXE,蓝桥杯python,# 实践,excel,python,开发语言,经验分享,笔记,学习,生活

新建一个库,然后打包脚本

当使用 PyInstaller 将 Python 脚本打包为可执行文件(.exe)时,PyInstaller 会尝试包含脚本运行所需的所有依赖库。这通常意味着它会将目前 Python 环境中与脚本相关的库打包进可执行文件中。然而,这并不意味着 PyInstaller 会打包 Anaconda 环境中的所有库,而只是打包那些脚本实际依赖的库。

在拥有大量库的环境中使用 PyInstaller 可能会导致一些问题,如可执行文件体积过大或打包时间过长。如下所示(我不清楚为啥他会想打包tensorflow):

一键式Excel分词统计工具:如何轻松打包Python脚本为EXE,蓝桥杯python,# 实践,excel,python,开发语言,经验分享,笔记,学习,生活

因此,创建一个新的、只包含必需库的环境,是确保打包过程顺利进行的好方法。以下是创建新环境并在其中运行 PyInstaller 的步骤:

  1. 创建新的 Conda 环境

    conda create --name newenv python=3.8  # 可以选择合适的Python版本
    
  2. 激活新环境

    conda activate newenv
    

或者是

activate newenv
  1. 在新环境中安装必需的包
    • 如果和我一样,使用的是 Anaconda,那么 pandas 和 tkinter(作为 Python 的一部分)通常已经预装在 Anaconda 环境中。
    • 所以,安装 PyInstaller:
      pip install pyinstaller
      
      一键式Excel分词统计工具:如何轻松打包Python脚本为EXE,蓝桥杯python,# 实践,excel,python,开发语言,经验分享,笔记,学习,生活
    • 然后,安装脚本依赖的其他库(例如 pandas, jieba 等):
      pip install jieba
      
      pip install openpyxl
      

再次运行代码

在 Visual Studio Code (VSCode) 中切换 Conda 环境,并运行 Python 文件的步骤如下:

  1. 打印python解释器绝对路径:在cmd中激活刚配置的 Conda 环境,方便后续在vscode中添加。可以使用 which 命令(在 Unix 或类 Unix 系统上,如 Linux 或 macOS)或 where 命令(在 Windows 上)来查找 Python 解释器的绝对路径。

    • 在 Unix 或类 Unix 系统上:

      which python
      
    • 在 Windows 系统上:

      where python
      

    (第一个就是,复制这个路径)
    一键式Excel分词统计工具:如何轻松打包Python脚本为EXE,蓝桥杯python,# 实践,excel,python,开发语言,经验分享,笔记,学习,生活

  2. 选择 Python 解释器:打开想要运行的 .py 文件,VSCode 允许选择用于运行 Python 脚本的解释器。可以通过以下两种方式之一选择解释器:

    • 命令面板

      • Ctrl+Shift+P 打开命令面板。
      • 输入并选择 Python: Select Interpreter
      • 从列表中选择 Conda 环境。Conda 环境通常标有 conda 字样,并显示在环境名称旁边。
    • 状态栏

      • 在 VSCode 窗口的底部状态栏中,可以看到当前选定的 Python 解释器。点击这个部分可以打开解释器的选择列表。
      • 从列表中选择 Conda 环境。
        一键式Excel分词统计工具:如何轻松打包Python脚本为EXE,蓝桥杯python,# 实践,excel,python,开发语言,经验分享,笔记,学习,生活
  3. 运行 Python 文件

    • 可以直接点击编辑器上方工具栏中的“运行”按钮(通常是一个绿色三角形图标)来运行当前的 Python 文件。
    • 或者,您也可以右键点击编辑器中的代码,然后选择 Run Python File in Terminal

确保已在 VSCode 中安装了 Python 扩展(由 Microsoft 提供),这样才能更好地支持 Python 开发,并且可以让更容易地切换 Python 解释器。

如果 Conda 环境没有出现在解释器列表中,可能需要检查一下 VSCode 的设置和 Conda 环境是否已正确配置。在某些情况下,重新启动 VSCode 或手动添加解释器路径也可以解决问题。

脚本打包为.exe文件(记得先关闭windows防火墙,否则会被拦截)

一键式Excel分词统计工具:如何轻松打包Python脚本为EXE,蓝桥杯python,# 实践,excel,python,开发语言,经验分享,笔记,学习,生活

  1. vscode顶栏点击 【查看】,选择【终端】 ,打开即可;
    英文版的是【view】,选择【terminal】
    (记得切换conda环境!!我这里就没切换对,所以还是默认的conda,打包的文件贼大。)
    (可以尝试下面那种方法,感觉更容易成功)
    一键式Excel分词统计工具:如何轻松打包Python脚本为EXE,蓝桥杯python,# 实践,excel,python,开发语言,经验分享,笔记,学习,生活
  2. 或者直接在cmd命令行中运行,记得改成绝对路径。并且记得将./test/test.py替换为自己的脚本路径的文件名
pyinstaller --onefile -w d://Users//Yu//Desktop//CSDN//test//test.py

一键式Excel分词统计工具:如何轻松打包Python脚本为EXE,蓝桥杯python,# 实践,excel,python,开发语言,经验分享,笔记,学习,生活

代码运行时间较长,不要慌是正常的。

终于成功了呜呜呜

一键式Excel分词统计工具:如何轻松打包Python脚本为EXE,蓝桥杯python,# 实践,excel,python,开发语言,经验分享,笔记,学习,生活

Pyinstaller参数大全

通过这种方法,PyInstaller 会在新环境中查找脚本的依赖,并只打包这些依赖,从而避免不必要的库被包含进可执行文件中。

注意:-w是指程序启动的时候不会打开命令行。如果不加-w的参数,就会有黑洞洞的控制台窗口出来。比如在刚才的脚本里我加一行print(‘Hello World!’),那么就不要放-w参数了,不然运行会报错,毕竟Hello World!需要在命令行里打印出来。此外,-w参数在GUI界面时非常有用。

一些其他参数如下:

一键式Excel分词统计工具:如何轻松打包Python脚本为EXE,蓝桥杯python,# 实践,excel,python,开发语言,经验分享,笔记,学习,生活

测试:运行.exe文件

根据 PyInstaller 日志,可执行文件(EXE)已成功创建。

日志显示:“Copying bootloader EXE to C:\Windows\System32\dist\test.exe”,这意味着 EXE 文件名为 test.exe,位于 C:\Windows\System32\dist\ 目录下。

不过,通常,我们不建议在系统目录(如 System32)中创建或存储自己的文件,因为这可能导致权限问题或潜在的系统安全风险。可以将项目保存在非系统目录(如用户目录或其他工作目录中)并在那里运行 PyInstaller。

发送.exe文件

这将在dist目录下创建一个可执行文件,可以将这个文件发送给朋友。

一键式Excel分词统计工具:如何轻松打包Python脚本为EXE,蓝桥杯python,# 实践,excel,python,开发语言,经验分享,笔记,学习,生活
将通过 PyInstaller 创建的单文件(--onefile)可执行程序(EXE)发送给朋友时,通常只需要发送该 EXE 文件本身。单文件模式意味着所有必要的依赖都被打包进了一个可执行文件中,因此不需要额外的文件。

需要发送的文件:

  • test.exe 文件:在 C:\Windows\System32\dist\ 目录下找到的 test.exe 文件。

朋友如何运行的指南:

  1. 复制文件

    • test.exe 文件复制到电脑上。建议保存到易于访问的位置,如桌面或特定的工作文件夹。
  2. 运行程序

    • 双击 test.exe 文件即可运行程序。如果安全警告弹窗出现(这在第一次运行时很常见),请选择“运行”或类似选项以继续。
  3. 使用应用

    • 根据程序设计,可以直接通过图形用户界面进行交互,例如上传 Excel 文件、选择要分析的列等。
  4. 保存和查看结果

    • 程序处理完数据后,提供了保存结果的选项。根据程序设计,需要选择保存位置或直接查看结果。
  5. 关闭程序

    • 完成操作后,可以正常关闭程序。

注意事项:

  • 如果朋友的电脑上安装有安全软件或防病毒程序,可能会出现阻止运行的情况。这是因为安全软件有时会错误地将新的或未知的 EXE 文件标记为潜在威胁。如果出现这种情况,请确保他们了解该文件是安全的,并可能需要将其添加到防病毒软件的白名单中。

  • 确保朋友了解该程序的来源是可信赖的。不建议从未经验证的来源运行 EXE 文件,因为这可能会带来安全风险。

通过这种方式,朋友即使在没有 Python 环境的情况下也可以轻松运行这个程序。

完美!nice!!!

其他:一些报错及解决

报错1: The ‘pathlib’ package is an obsolete backport of a standard library package and is incompatible with PyInstaller. Please remove this package (located in D:\program\anaconda3\Lib\site-packages) using

conda remove

then try again.


遇到这个错误表明在尝试使用 PyInstaller 打包脚本时存在一个问题:pathlib 包与 PyInstaller 不兼容。pathlib 是 Python 3.4 及更高版本的标准库的一部分,但在更早的 Python 版本中它是一个第三方包。由于系统中安装了旧版的 pathlib 包,PyInstaller 无法正常工作。

要解决这个问题,请按照错误消息中提供的建议操作:

  1. 打开命令提示符或终端。
  2. 使用 condapip 移除 pathlib 包。根据您的错误消息,您应该使用 conda
    conda remove pathlib
    
  3. 移除完成后,再次尝试使用 PyInstaller 打包脚本:
    pyinstaller --onefile ./test/test.py
    

如果未使用 conda 管理您的 Python 环境,而是使用 pip,则可以尝试使用以下命令:

pip uninstall pathlib

请确保在适用于 Python 环境的命令行界面中执行这些命令。

例如,如果安装路径不在C盘,那么需要命令提示符的管理员权限,才可以成功运行这个命令。

一键式Excel分词统计工具:如何轻松打包Python脚本为EXE,蓝桥杯python,# 实践,excel,python,开发语言,经验分享,笔记,学习,生活

报错2:File “C:\Users\Yu.conda\envs\newenv\lib\site-packages\win32ctypes\core\ctypes_util.py”, line 39, in check_null

raise make_error(function, function_name)

OSError: [WinError 225] 无法成功完成操作,因为文件包含病毒或潜在的垃圾软件。


遇到的错误消息 “WinError 225: 无法成功完成操作,因为文件包含病毒或潜在的垃圾软件” 通常与操作系统的安全设置有关。这个问题可能是由以下几个原因引起的:

  1. 安全软件或防病毒程序的干预:某些安全软件或防病毒程序可能会错误地将您的 Python 脚本或由 PyInstaller 创建的 EXE 文件识别为恶意软件。这可能导致在尝试创建或执行这些文件时遇到阻碍。

  2. Windows Defender 的保护机制:Windows Defender 可能会阻止某些被认为不安全的操作,尤其是当它检测到文件可能包含恶意代码时。

为了解决这个问题,可以尝试以下几个步骤:(最快捷的是第四个~但是单独使用没有用,必须要关闭Windows Defender)
一键式Excel分词统计工具:如何轻松打包Python脚本为EXE,蓝桥杯python,# 实践,excel,python,开发语言,经验分享,笔记,学习,生活

  1. 检查文件是否确实安全:首先,请确保您的脚本和所依赖的库都是从可信来源获取的,确保它们没有潜在的安全风险。

  2. 将文件加入排除列表:如果您确定文件是安全的,您可以尝试将其添加到您的防病毒软件或 Windows Defender 的排除列表中。这样,安全软件就不会阻止这些文件的创建和运行。

    • 在 Windows Defender 中,您可以通过“设置” > “更新与安全” > “Windows 安全中心” > “病毒与威胁防护” > “病毒与威胁防护设置”管理设置,并添加排除。
  3. 暂时禁用安全软件:在创建 EXE 文件的过程中,您可以暂时禁用安全软件。请确保在完成操作后重新启用它。

  4. 以管理员身份运行:尝试以管理员身份运行您的命令提示符或 PyInstaller。右键点击命令提示符图标,选择“以管理员身份运行”。

  5. 更新 PyInstaller:确保您使用的是 PyInstaller 的最新版本,因为旧版本有时会引发安全软件的误报。

  6. 咨询专业人士:如果您不确定如何操作,或者担心可能会对系统安全造成风险,建议咨询 IT 专业人士的帮助。

请务必在进行这些操作时谨慎行事,确保不会误关闭必要的安全保护措施。文章来源地址https://www.toymoban.com/news/detail-803136.html

到了这里,关于一键式Excel分词统计工具:如何轻松打包Python脚本为EXE的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 详解如何使用Jenkins一键打包部署SpringBoot项目

    目录 1、Jenkins简介 2、Jenkins的安装及配置 2.1、Docker环境下的安装​编辑 2.2、Jenkins的配置 3、打包部署SpringBoot应用 3.1、在Jenkins中创建执行任务 3.2、测试结果 任何简单操作的背后,都有一套相当复杂的机制。本文将以SpringBoot应用的在Docker环境下的打包部署为例,详细讲解如

    2024年02月05日
    浏览(45)
  • 【ChatGPT】如何利用ChatGPT来快速统计Excel数据?

    自从人工智能横空而出,它在人们的生活中产生了巨大的影响。尤其在企业办公领域,借助人工智能的力量,能够迅速产出丰富多样的内容,无论对于企业还是个人都具有重要的帮助。 想象一下,通过与人工智能的合作,您可以轻松地生成各种所需的文档、报告和演示稿,节

    2024年02月07日
    浏览(38)
  • 一键打包,随时运行,Python3项目虚拟环境一键整合包的制作(Venv)

    之前我们介绍了如何使用嵌入式 Python3 环境给项目制作一键整合包,在使用嵌入式 Python 环境时,通常是作为另一个应用程序的一部分,而Python3虚拟环境是为了在开发过程中隔离项目所需的 Python 环境。虚拟环境允许我们在同一台计算机上的不同项目中使用不同的 Python 版本和

    2024年02月04日
    浏览(36)
  • Python读取Word统计词频输出到Excel

    1.安装依赖的包 ``` \\\"# 读取docxn\\\",     \\\"!pip install python-docxn\\\",     \\\"!pip install -i https://pypi.tuna.tsinghua.edu.cn/simple python-docxn\\\",     \\\"# 中英文分词n\\\",     \\\"!pip install jieban\\\",     \\\"!pip install -i https://pypi.tuna.tsinghua.edu.cn/simple jieban\\\",     \\\"# 输出到exceln\\\",     \\\"!pip install pandas\\\"     \\\"!pip

    2024年02月13日
    浏览(29)
  • 轻松学会Python--openpyxl库,处理Excel有如神助

    Excel是Windows环境下流行的、强大的电子表格应用。无论是在工作中还是学习中。我们几乎都在不间断的使用Excel来记录或处理一些数据。例如:可能有一个无聊的任务,需要从一个电子表格拷贝数据,粘贴到另一表格。 或者可能需要从几千上万行中挑选几行,根据各种条件稍

    2024年02月19日
    浏览(32)
  • 一键智能视频语音转文本——基于PaddlePaddle语音识别与Python轻松提取视频语音并生成文案

    如今进行入自媒体行业的人越来越多,短视频也逐渐成为了主流,但好多时候是想如何把视频里面的语音转成文字,比如,录制会议视频后,做会议纪要;比如,网课教程视频,想要做笔记;比如,需要提取视频中文案使用;比如,需要给视频加个字幕;这时候,只要把视频转

    2024年02月08日
    浏览(27)
  • 区块链发票如何一键识别生成excel发票台账?并上税务局查验

    随着科技的发展,区块链技术的应用逐渐深入到各个领域,其中,区块链发票的应用正在改变我们的支付方式。区块链发票,作为一种新型的电子支付凭证,具有高效、安全、可追溯等特性,正逐渐成为现代商业活动中的重要组成部分。 一、什么是区块链发票? 区块链发票

    2024年02月02日
    浏览(49)
  • Jieba分词统计词频及自定义分词词典

    统计词频的测试文本如下: 编写代码 运行代码查看统计结果 2.1 创建词典 首先我们创建一个 user_dict.txt 文本文件,在文件中添加我们需要的词典,如下所示: 2.2 编写代码 接着我们编写代码进行词典的测试,测试的文本如下: 首先我们 不导入 自定义的分词词典,看看分词

    2024年02月13日
    浏览(27)
  • 【办公自动化】使用Python一键提取PDF中的表格到Excel

      🤵‍♂️ 个人主页:@艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞👍🏻 收藏 📂加关注+ 目录 一、Python处理Excel 二、提取PDF表格到excel 三、往期推荐 文末推荐  文末福利   Pyth

    2024年02月13日
    浏览(40)
  • python-自动篇-办公-案例-一键将word中的表格提取到excel文件中

    前提:您电脑上有python,还有就是编辑器vscode或其他 第一:您复制代码到vscode运行,花现下面的报错,这时候需要pip按照对应的库 其实就是在:cmd中输入:pip install +对应报错需要的库,如上是docx 当然,也不会很顺利只使用“pip”就能解决,比如 使用pip时,出现红色报错啦

    2024年01月22日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包