PyInstaller“您可以使用`skimage.io.use_plugin`加载I / O插件”
问题内容:
使用Pyinstaller打包python脚本
Pyinstaller 3.2版
操作系统:Ubuntu
Traceback (most recent call last):
File "<string>", line 57, in <module>
File "<string>", line 29, in feature_extract
File "caffe/io.py", line 295, in load_image
File "skimage/io/_io.py", line 100, in imread
File "skimage/io/manage_plugins.py", line 194, in call_plugin
RuntimeError: No suitable plugin registered for imread.
You may load I/O plugins with the `skimage.io.use_plugin` command. A list of all available plugins can be found using `skimage.io.plugins()`.
file_test returned -1
我一直在出错。有人可以告诉我如何解决吗?
问题答案:
问题似乎与这个github问题有关,从本质skimage.io._plugins
上讲,子模块使Pyinstaller的生活变得艰难。
为了确保打包您需要的所有内容,您应该有一个包含以下内容的挂钩文件
from PyInstaller.utils.hooks import collect_data_files, collect_submodules
datas = collect_data_files("skimage.io._plugins")
hiddenimports = collect_submodules('skimage.io._plugins')
(或者,如果您已经有了一个钩子文件,请扩展currentdatas
和hiddenimports
)。