当我尝试将streamlit部署到heroku时,出现以下错误。如何解决?
没有名为streamlit.main的模块; “ streamlit”是一个程序包,不能直接执行
答案 0 :(得分:0)
streamlit
命令位于您的virtualenv的bin/
文件夹中。似乎pipenv run
不在该文件夹中,而是在查找名为streamlit的 package 并尝试执行该软件包。
在没有看到Heroku部署外观的任何细节的情况下,很难提供具体建议来解决此问题。但是从您的屏幕截图来看,好像您是在pipenv shell中执行此命令的。由于您已经在Shell中,因此无需使用pipenv run streamlit run ...
来运行streamlit
命令;激活外壳程序意味着streamlit
命令将已经在$ PATH上。
激活外壳后,应该执行以下操作:
streamlit run iris_eda_app.py
或者,您可以放弃pipenv
并直接管理您的virtualenv。我整理了一个可部署到Heroku的Streamlit应用程序的最小工作示例。它使用普通的requirements.txt
文件而不是Pipfile
:https://github.com/tconkling/streamlit_heroku_example
答案 1 :(得分:0)
这对你也有用.. python -m streamlit.cli iris_eda_app.py