项目场景:
读写tiff文件并转换为exe程序。
问题描述
提示:这里描述项目中遇到的问题:
用python处理tiff文件,不管是cv2还是skiamge.io等函数,均使用了tifffile库 https://pypi.org/project/tifffile/ 用于tiff图片的文件的读写等操作。
编写的代码在vscode中使用脚本可完美运行,但是pyinstaller打包后的exe执行后闪退,闪退的一瞬间报错如下报错:
Traceback (most recent call last):
File "sample.py", line 286, in storedata
File "tifffile\tifffile.py", line 712, in imread
File "tifffile\tifffile.py", line 2651, in asarray
File "tifffile\tifffile.py", line 5455, in asarray
File "tifffile\tifffile.py", line 5320, in segments
File "tifffile\tifffile.py", line 5309, in decode
File "tifffile\tifffile.py", line 5270, in decode
File "imagecodecs\imagecodecs.py", line 459, in stub_decode
imagecodecs.imagecodecs.DelayedImportError: could not import name 'lzw_decode' from 'imagecodecs'
原因分析:
提示:这里填写问题的分析:
这是优于imagecodecs.py这个文件中并没有lzw_decode的调用,需要增加额外的库。
解决方案:
提示:这里填写该问题的具体解决方案:
在python程序的开头加入
import imagecodecs._imcd
如果仍然不行再尝试加入
import imagecodecs._shared
参考链接:
https://stackoverflow.com/questions/73186325/how-to-add-lzw-decode-from-imagecodecs-at-pyinstaller
https://teratail.com/questions/285082