Streamlit 应用程序可以在本地运行,但不能在 Heroku 上运行

Posted

技术标签:

【中文标题】Streamlit 应用程序可以在本地运行,但不能在 Heroku 上运行【英文标题】:Streamlit app works locally but not on Heroku 【发布时间】:2021-09-18 01:45:15 【问题描述】:

我有一个使用 streamlit 和 fbprophet 的股票预测代码,它在本地运行,当我在 Heroku 上部署它时,它说部署成功,但在访问网站时出现错误

ModuleNotFoundError: No module named 'fbprophet.plot'
Traceback:
File "/app/.heroku/python/lib/python3.9/site-packages/streamlit/script_runner.py", line 338, in _run_script
    exec(code, module.__dict__)
File "/app/Stock-Prediction.py", line 8, in <module>
    from fbprophet.plot import plot_plotly

我尝试将 fbprophet 更改为先知,但这不起作用。而不是这个错误,我得到

ModuleNotFoundError: No module named 'prophet.plot'

即使在本地运行应用程序时,我最初也会因为 fbprophet 而出现错误,直到我在 Windows 系统上使用 Anaconda 而不是 CMD 运行它。它仅适用于 Anaconda。 简介:

web: sh setup.sh && streamlit run Stock-Prediction.py

setup.sh:

mkdir -p ~/.streamlit/
echo "\
[server]\n\
headless = true\n\
port = $PORT\n\
enableCORS = false\n\
\n\
" > ~/.streamlit/config.toml

requirements.txt:

streamlit==0.82.0
pandas==1.1.3
yfinance==0.1.59
fbprophet==0.2
plotly==4.14.3
pystan==2.19.1.1

在尝试解决此问题时,我添加了一个 packages.txt 文件,其中包含:

gcc
g++
build-essential
python3-dev

这是我第一次尝试在 Heroku 上部署应用程序。任何帮助将不胜感激。

【问题讨论】:

【参考方案1】:

使用神经预言机代替 FB 预言机很容易安装

【讨论】:

您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center。

以上是关于Streamlit 应用程序可以在本地运行,但不能在 Heroku 上运行的主要内容,如果未能解决你的问题,请参考以下文章

如何在 App Engine (GCP) 上部署 Streamlit 应用程序?

您如何在 Streamlit 剪切中录制用户的音频?

为啥我的 Django 应用程序可以在本地运行,但不能在 Heroku 上运行?

无法在 Heroku 上部署 Streamlit 应用程序 - 缺少 libgcc_s.so.1

AWS EC2 导致 Streamlit ML App 出现问题

如何在streamlit上运行视频?