zoukankan      html  css  js  c++  java
  • pyinstaller 打包生成exe之后运行提示‘no module name 'xxx'’错误

    python 3.7

    pyinstaller 3.4

    具体情况:

    pycharm中点击运行可成功执行,生成正确结果,没有报错。

    双击run.py(程序运行的主文件),运行,可生成正确结果,没有报错。

    pyinstaller打包生成exe后,双击exe文件,报错。

    解决尝试:

    get_log_inf.py 为自定义模块文件,与run.py放在同级文件夹下,理论上调用是没有问题的

    在pycharm中也可以在run中正常跳转到get_log_inf文件,说明可以正常寻到get_log_inf文件,问题应该不是出在调用上

    在get_log_inf.py中添加if __name__ == '__main__':并单独运行此py文件,发现报错,出现一个文件编码错误,(没有留图,大概意思就是UTF-8无法解码某个字符),在文件头添加# -*- encoding: gb2312 -*-,再次运行,无错误通过

    再次打包exe,双击exe,正常运行生成正确结果,无错误。

    问题解决!

    总结:

    可能是因为调用的缘故,编码错误这个问题被忽略掉了,在打包成exe之后,触发这个隐藏错误。

    建议出现‘no module name 'xxx'’错误,先单独运行无法调用的py文件,检查是否有错。有错会出现调用失败。

    咋子

  • 相关阅读:
    【Hibernate框架】对象的三种持久化状态
    【Mybatis架构】Mapper映射文件中的#{}与${}
    【Mybatis架构】 延迟加载
    IDEA快捷键+使用小技巧
    Aop_AspectJ实现
    Aop_实践篇之过滤器
    Aop_思想篇
    超简单的Springboot中的日志管理配置
    SpringMVC+MYBatis企业应用实战笔记
    Spring学习
  • 原文地址:https://www.cnblogs.com/congyinew/p/9981854.html
Copyright © 2011-2022 走看看