streamlit run 遇到OSError: [Errno 28] inotify watch limit reached的解决方案


streamlit的基本使用

Streamlit 是一个用于快速创建和共享数据应用的 Python 库。它特别适合于数据科学家和工程师,因为它简化了从数据脚本到分享应用的过程。以下是一个简单的 Streamlit 应用示例,展示了其基本功能:

  1. 安装 Streamlit:如果你还没有安装 Streamlit,可以通过以下命令安装
pip install streamlit
  1. 创建一个 Streamlit 应用:创建一个新的 Python 文件,例如 app.py,并在其中编写以下代码
import streamlit as st

# 创建一个简单的标题
st.title('我的 Streamlit 应用')

# 创建一个文本输入框,并获取输入的文本
user_input = st.text_input("请输入一些文本")

# 显示输入的文本
if user_input:
    st.write(f'您输入的文本是: {user_input}')

  1. 运行 Streamlit 应用:在命令行中运行以下命令:
streamlit run app.py

这将启动 Streamlit 服务器,并在浏览器中打开你的应用。

这个简单的示例展示了 Streamlit 的一些基本功能,如创建标题、文本输入框和显示用户输入的文本。Streamlit 还支持许多其他功能,如数据可视化、交互式小部件等,可以帮助你创建更复杂的数据应用。

报错的解决方案

如果在streamlit run 的时候遇到OSError: [Errno 28] inotify watch limit reached的报错,这个报错信息表明你遇到了 inotify watch limit reached 的错误。这通常发生在 Linux 系统中,当 inotify 实例的数量超过了系统限制时就会出现这个问题。inotify 是 Linux 内核的一个特性,用于监控文件系统的变化,而 Streamlit 使用它来监控文件的变化以自动刷新应用。

要解决这个问题,你需要增加 inotify 的监听限制。以下是解决步骤:

  1. 临时增加限制:你可以通过运行以下命令来临时增加 inotify 的监听限制。这个命令会在当前会话中生效,重启后会恢复原来的设置。
echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p

这里设置的 max_user_watches 值是 524288,你可以根据需要调整这个值。

  1. 永久增加限制:如果你想要永久改变这个限制,可以编辑/etc/sysctl.conf 文件,并添加以下行:
fs.inotify.max_user_watches=524288

然后运行 sudo sysctl -p 来应用更改。

完成这些步骤后,你应该能够运行 Streamlit 应用而不会遇到 inotify watch limit reached 的错误

  • 14
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值