在离线的环境中,gradio无法从网络上下载资源,会出现白屏的情况。
gradio离线的资源主要分两种,一个js文件,一个css中使用的字体。
js文件可以直接从gradio安装目录下,分别打开gradio\templates\cdn\index.html、gradio\templates\frontend\index.html、gradio\templates\frontend\share.html,找到这个文件中script中的js地址。将远程的地址修改为本地的一个地址。
<script src="./assets/iframeResizer.contentWindow.min.js"></script>
<script type="module" crossorigin src="./assets/index-ca964670.js"></script>
字体的离线修改比较麻烦,设计到了python代码的修改。
进入到gradio\themes中,将所有的文件中出现的fonts.GoogleFont("Quicksand")这段代码注释掉。
并且在上面所写的那个html文件中,注释掉远程的googlefonts地址
<!--
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link
rel="preconnect"
href="https://fonts.gstatic.com"
crossorigin="anonymous"
/>
-->