调用encode_url_or_file_to_base64所需Gradio版本及报错咨询
问题解答
这个报错确实是版本问题导致的。
在Gradio 3.29.0及之后的版本中,gradio.processing_utils模块里的encode_url_or_file_to_base64函数被移除或重构了,所以你在3.36.1版本中调用这个函数会触发AttributeError。
两种解决方式:
- 降级Gradio版本到3.28.0及以下,该版本仍保留目标函数,安装命令:
pip install gradio==3.28.0 - 不修改版本,替换代码中的函数调用:在3.36.1版本中,可使用
gradio.utils.encode_url_or_file_to_base64替代原函数;如果仅需要处理文件转base64的需求,也可以用gradio.processing_utils.encode_file_to_base64。修改后的代码示例:import gradio as gr import gradio.utils as gr_utils import gradio.processing_utils as gr_processing_utils def audio_postprocess(self, y): data = audio_postprocess_ori(self, y) if data is None: return None return gr_utils.encode_url_or_file_to_base64(data["name"])
内容的提问来源于stack exchange,提问作者P.Chian
相关产品推荐
相关产品推荐

