《垃圾邮件识别器》(八)收尾工作

这一部分主要完成两个任务:

  1. 将封装的 RecognizerMail 应用到项目中;
  2. 将项目打包成可执行程序。

1. 完成代码

在开发的 MainFrame 界面中集成邮件识别器 RecognizerMail。修改 MainFrame 的 init 方法中初始化邮件识别器,并实现 on_menu_predict 函数:

import tkinter as tk
from RecognizerMail import RecognizerMail
from TopMenu import TopMenu
from StatBar import StatBar
from CenText import CenText


class MainFrame(tk.Tk):

    def __init__(self):
        # 初始化识别器
        self.recognizer = RecognizerMail()

    def on_menu_predict(self):
        # 获得文本框邮件
        mail = self.text.get_mail()
        if mail == CenText.INPUT_NULL:
            self.text.add_info('邮件内容为空!', font='custom')
            return

        if mail == CenText.INPUT_SAME:
            self.text.add_info('邮件内容不变!', font='custom')
            return

        # 垃圾邮件预测
        self.sbar.set_message('邮件正在预测')
        label = self.recognizer.predict([mail])
        self.text.add_info(f'{label[0]}')
        self.sbar.set_message('邮件预测完毕')

2. 打包程序

1. Windows 打包步骤

首先,进入到项目根目录下
然后,在项目根目录下执行命令:pyinstaller –noconsole –onefile –name plane App.py
接着,拷贝 source 目录到 dist 目录下,保证和 exe 同级目录
最后,可以将 exe 和 source 目录拷贝、分发给没有 Python 环境的机器就可以直接运行

2. Mac 打包步骤

首先,进入到项目根目录下
然后,按照上面的教程文章编写 setup.py 打包配置文件
接着,执行打包命令:python setup.py py2app,此时会在 dist 目录下生成 app 文件
最后,将 app 文件分发给没有 Python 环境的 Mac 机器就可以直接运行

未经允许不得转载:一亩三分地 » 《垃圾邮件识别器》(八)收尾工作
评论 (2)

4 + 9 =

  1. avatar
    nono.su09-29 21:22回复

    非常有帮助, 点赞

  2. avatar
    苦逼的未来程序员09-24 20:03回复

    非常好的课,毕设完成了,感谢老师~~