Python+pyqt+dicom+vtk 使用pyinstaller打包软件时正常,运行报错vtkmodules.all、pydicom.encoders.pylibjpeg等错误

**

Python+pyqt+dicom+vtk 使用pyinstaller打包软件时正常,运行时报vtkmodules.all、pydicom.encoders.pylibjpeg、No module named ’pydicom.encoders.gdcm的解决方案

**
No module named ‘vtkmodules.all’
No module named ’pydicom.encoders.pylibjpeg‘
No module named ’pydicom.encoders.gdcm‘
的解决办法:

1、No module named ‘pydicom.encoders.pylibjpeg’No module named ‘pydicom.encoders.gdcm’ 的解决办法:
Python+pyqt+dicom+vtk 使用pyinstaller打包软件时正常,运行报错vtkmodules.all、pydicom.encoders.pylibjpeg等错误_第1张图片
在pyinstaller打包的时候,hiddenimport就行,如下:

pyinstaller -F -w --hiddenimport=pydicom.encoders.gdcm --hiddenimport=pydicom.encoders.pylibjpeg main.py

也有第二种解决方案,但我没亲测过,可以参考一下。

pyinstaller -F -w --collect-submodules=pydicom main.py

2、No module named ‘vtkmodules.all’ 问题的解决办法:
Python+pyqt+dicom+vtk 使用pyinstaller打包软件时正常,运行报错vtkmodules.all、pydicom.encoders.pylibjpeg等错误_第2张图片
在有import vtk的.py文件用import vtkmodules.all as vtk替换import vtk后重新打包即可。

3、再提供一点pyinstaller打包时的一些参数。

参数 含义
-F 生成结果是一个 exe 文件,所有的第三方依赖、资源和代码均被打包进该 exe 内
-D 生成结果是一个目录,各种第三方依赖、资源和 exe 同时存储在该目录(默认)
-a 不包含unicode支持
-d 执行生成的 exe 时,会输出一些log,有助于查错
-w 不显示命令行窗口
-c 显示命令行窗口(默认)
-p 指定额外的 import 路径,类似于使用 python path
-i 指定图标
-v 显示版本号
-n 生成的 .exe 的文件名

你可能感兴趣的:(python,python,pyqt)