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