【Python-GUI开发】将py文件转换为exe可执行文件 -- pyinstaller 打包之后,运行无法生成hex文件,文件夹无法自动创建

在没有打包成EXE文件之前,在pycharm中是可以正常输出生成hex文件的,但是用pyinstaller打包之后,再点击运行exe文件,却无法生成hex文件

解决方案:

其实本质上有生成输出文件的,但是不是在exe文件当前所在的文件夹内。
path = os.path.join(os.path.abspath(os.path.dirname(__file__)), 'log', self.loggerName)
问题在这一句代码。
os.path.dirname(__file__)返回的是当前脚本的所在路径,使用pycharm和直接点击运行py文件,这个路径均为脚本的所在路径,而生成exe之后点击运行,这个路径变为exe释放路径C:Users...AppDataLocalTemp_MEI*,所以hex文件生成在这个路径下,在结束运行后,这个路径文件夹会被删除。
最后头部导入sys库

import sys

 原先使用os.path路径的代码修改如下

    def __init__(self):
        super(hexMergeClass, self).__init__()
        if getattr(sys, 'frozen', False):
            pathname = sys._MEIPASS
        else:
            pathname = os.path.split(os.path.realpath(__file__))[0]
            self.cur_path = os.path.abspath(os.path.dirname(__file__)) + '\\'  # 当前脚本路径
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章