
在使用 Streamlit 运行应用时,可能会遇到 WinError 10013: PermissionError: [WinError 10013] An attempt was made to access a socket in a way forbidden by its access permissions 错误。 这通常表示 Streamlit 尝试使用的默认端口已被其他程序占用,或者当前用户没有足够的权限在该端口上启动服务。
解决此问题的有效方法是修改 Streamlit 的配置文件,指定一个新的可用端口。以下步骤详细说明了如何操作:
创建或编辑 .streamlit/config.toml 文件
如果你的项目中还没有 .streamlit/config.toml 文件,需要在项目的根目录下创建它。如果已经存在,则直接编辑该文件。该文件用于配置 Streamlit 的各项设置。
添加端口配置
在 .streamlit/config.toml 文件中,添加以下内容:
[server] port = 80
这里的 port = 80 指定 Streamlit 使用 80 端口。你可以根据实际情况选择一个未被占用的端口。常见的可用端口包括 80, 8000, 8080, 8501 等。 请注意,如果选择 80 端口,可能需要管理员权限。
重启 Streamlit 应用
保存 .streamlit/config.toml 文件后,重新运行 Streamlit 应用:
streamlit run main.py
如果配置正确,Streamlit 应用应该能够成功启动,并使用你指定的端口。
假设你的 Streamlit 应用代码如下(main.py):
import streamlit as st
import pandas as pd
st.write("""
# My First App
Hello *world!*
""")
df = pd.read_csv("data\customer_booking.csv", encoding="ISO-8859-1")
st.line_chart(df["purchase_lead"])并且你已经按照上述步骤修改了 .streamlit/config.toml 文件,指定了新的端口。那么,重新运行 streamlit run main.py 之后,你应该能够通过浏览器访问 http://localhost:80 (假设你设置的端口是 80)来查看你的 Streamlit 应用。
通过修改 Streamlit 的配置文件,指定一个新的可用端口,可以有效地解决 WinError 10013 端口权限错误。 记住选择一个未被占用的端口,并确保你的防火墙和权限设置允许 Streamlit 应用正常运行。 希望本教程能帮助你顺利启动 Streamlit 应用。
以上就是使用 Streamlit 解决 WinError 10013 端口权限错误的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号