You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在不导入文件的情况下调用Streamlit多页面应用副页的函数?

Streamlit双页面独立文件解决方案

一、双页面架构正确实现方式

Streamlit原生支持多页面应用,无需复杂导入操作,按以下目录结构创建即可:

your_app/
├── main.py       # 主页面文件
└── pages/
    └── second.py # 第二个页面文件
  • 主页面文件放在项目根目录,命名为main.py
  • 新建pages文件夹,将第二个页面的代码文件直接放入该文件夹(文件名可自定义,比如second.py)
  • 启动应用时运行命令 streamlit run main.py,左侧侧边栏会自动生成页面切换入口,两个页面完全独立,不会出现导入导致的前端内容重复问题

二、无网络环境下模型加载方案

无法使用torch.hub.load在线加载模型时,采用离线加载方式:

  1. 提前下载模型:在有网络的环境中,用torch.hub.load完成模型下载,找到本地缓存路径(通常在~/.cache/torch/hub),将整个模型文件夹复制到工作电脑的指定路径
  2. 本地加载模型:使用torch.hub.load的本地加载参数,示例代码:
# 在main.py中加载模型
import torch

# 替换为你复制到本地的模型文件夹绝对路径
model = torch.hub.load('/本地模型文件夹路径', '模型名称', source='local')

三、跨文件共享逻辑的正确姿势

如果需要在两个页面间共享函数或变量,不要直接导入页面文件,而是单独创建工具文件:

# 创建utils.py存放共享逻辑
def shared_process(data):
    return data * 2

# 在main.py和second.py中导入使用
from utils import shared_process

内容的提问来源于stack exchange,提问作者Nikhil Tuli

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 09:05:10