首页 > 解决方案 > 如何使用 `pyinstaller` 捆绑安装 Anaconda 的 paraview 包

问题描述

考虑这个 python 测试文件main.py

# main.py
from paraview.simple import *

def paraTest():
    Cone()
    SetProperties(Resolution=32)
    Shrink()
    Show()
    Render()

if __name__ == '__main__':
    paraTest()

这取决于 根据 https://anaconda.org/conda-forge/paraviewparaview从 Anaconda 安装的软件包 。conda install -c conda-forge paraview

该程序在直接使用 python 运行时按预期工作。

问题

当我使用带有终端命令的 pyinstaller 打包它 pyinstaller main.py,然后运行可执行文件时,我收到以下错误:

Traceback (most recent call last):
  File "paraview/__init__.py", line 161, in <module>
ImportError: Failed to load vtkRemotingCore: No module named paraview.modules.vtkPVVTKExtensionsCore

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "main.py", line 1, in <module>
    from paraview.simple import *
  File "PyInstaller/loader/pyimod03_importers.py", line 546, in exec_module
  File "paraview/__init__.py", line 163, in <module>
ModuleNotFoundError: No module named '_paraview_modules_static'
[14370] Failed to execute script 'main' due to unhandled exception!

我的尝试

我知道可能有一些模块无法识别和包含pyinstaller,所以我将所有模块文件复制{miniconda_root}/miniconda3/lib/python3.9/site-packages/paraview/modules到我的包{MyPackage_root}/dist/main/paraview/modules中,但同样的错误仍然存​​在。

环境信息

MacOS 11.2(大苏尔)

python==3.9
paraview==5.9.1
pyinstaller==4.4

提前致谢!

标签: pythonanacondapyinstallerparaview

解决方案


推荐阅读