python打包exe

我将以下代码打包成一个带cmd的exe,但当运行exe时只是弹了一下cmd就关闭了,并没有实际运行
而在没打包之前是可以正常运行的,我想知道这是为什么,以及我应该怎么更正


import psutil,os,time
class abc():
    def __init__(self):
        self.main()
    def main(self):
        print('开始清理')
        time.sleep(0.5)
        name='EXCEL.EXE'
        pids = psutil.pids()
        for pid in pids:
            p = psutil.Process(pid)
            if p.name() == name:
                cmd = r'taskkill /F /IM '+ name
                os.system(cmd)

        time.sleep(1)
        print('excel清理完毕')

if __name__=='__main__':
    a=abc()
    #a.main()

你可以截图cmd看一下,应该是缺少模块导致的,参考下面方法:
打包过程中难免会遇到问题,一般都会遇到缺少模块的问题,比如,在对myscript.py打包时会报错ModuleNotFoundError,缺少xlrd, xlwt等模块,一般来说可以按照下面三个步骤进行解决:

1.Pyinstalled会从本地的环境路径下找需要的模块,例如python的包都放在site-packages目录下,因此,Pyinstalled可以直接从该目录下获取需要的模块。如果本地也缺少该模块,先通过pip命令安装。例如:

pip install xlrd

pip install xlwt

2.如果你需要的模块不在site-packages,而在你指定的目录下,那打包时你可以通过-P DIR参数指定,其中DIR为你需要的模块路径:

pyinstaller -F -w -p DIR myscript.py

-p命令允许指定多个模块路径,可以用:分隔,或者多次使用这个参数,像这样:pyinstaller -p DIR1:DIR2:DIR3 myscript.py或pyinstaller -p DIR1 -p DIR2 -p DIR3 myscripy.py

pyinstaller打包
https://blog.csdn.net/xqe777/article/details/124308646?ops_request_misc=&request_id=&biz_id=102&utm_term=pyinstaller%E6%89%93%E5%8C%85exe&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-0-124308646.pc_ask&spm=1018.2226.3001.4449

你采纳的答案真的对嘛.......
打包成exe执行窗口一闪而过是因为你写的程序已经执行完毕,所以窗口关掉了
你需要在源代码结尾出添加一行“raw_input("Press ")”,这样执行exe后窗口会暂停住,直到你按下回车后关闭