【问题标题】:pyfmi ModuleNotFoundError when packaging using pyinstaller使用pyinstaller打包时出现pyfmi ModuleNotFoundError
【发布时间】:2020-08-02 22:42:14
【问题描述】:

我有一系列脚本,其中包括一些使用 pyfmi 模块的计算。当我在我的 python 环境(Spyder)中运行 main 函数时,我没有任何错误 - pyfmi 计算运行完美。但是,当我使用 pyInstaller 打包整个东西以制作可执行文件时,pyfmi 模块会导致问题。

我可以使用 exe 文件运行我的 GUI。但是,每当我单击调用 pyfmi 库的按钮时,我都会在控制台上收到一条错误消息,提示“没有名为 pyfmi.common.core 的模块”。我尝试了不同的导入选项,例如 import pyfmifrom pyfmi import *from pyfmi import fmu_util 等,但并没有解决问题。

【问题讨论】:

    标签: python pyinstaller pyfmi


    【解决方案1】:

    尝试运行以下脚本以生成可执行文件:

    import PyInstaller.__main__
    
    PyInstaller.__main__.run(['YOUR_SCRIPT.py',
                          '--onefile',
                          '--hidden-import=pyfmi.common',
                          '--hidden-import=pyfmi.common.core',
                          '--hidden-import=pyfmi.fmi_util',
                          '--hidden-import=pyfmi.fmi_algorithm_drivers',
                          '--hidden-import=scipy._lib.messagestream',
                          '--hidden-import=assimulo.support',
                          '--hidden-import=assimulo.algebraic'
                          ])
    

    这在一个使用的文件中对我有用

    from pyfmi import load_fmu
    

    如果缺少更多模块,只需按照此处显示的方式添加它们即可。

    【讨论】:

      猜你喜欢
      • 2021-03-30
      • 1970-01-01
      • 2021-12-26
      • 2018-08-20
      • 2019-08-06
      • 1970-01-01
      • 2020-06-08
      • 2022-01-01
      • 2020-08-03
      相关资源
      最近更新 更多