商城首页欢迎来到中国正版软件门户

您的位置:首页 >Streamlit 解决 WinError 10013 端口问题

Streamlit 解决 WinError 10013 端口问题

  发布于2026-01-02 阅读(0)

扫一扫,手机访问

使用 Streamlit 解决 WinError 10013 端口权限错误

在使用 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 的配置文件,指定一个新的可用端口。以下步骤详细说明了如何操作:

  1. 创建或编辑 .streamlit/config.toml 文件

    如果你的项目中还没有 .streamlit/config.toml 文件,需要在项目的根目录下创建它。如果已经存在,则直接编辑该文件。该文件用于配置 Streamlit 的各项设置。

  2. 添加端口配置

    在 .streamlit/config.toml 文件中,添加以下内容:

    [server]
    port = 80

    这里的 port = 80 指定 Streamlit 使用 80 端口。你可以根据实际情况选择一个未被占用的端口。常见的可用端口包括 80, 8000, 8080, 8501 等。 请注意,如果选择 80 端口,可能需要管理员权限。

  3. 重启 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 应用。

注意事项

  • 端口选择: 选择一个未被其他程序占用的端口非常重要。你可以使用命令行工具(如 netstat 在 Windows 上,或 lsof 在 Linux/macOS 上)来检查端口占用情况。
  • 权限问题: 某些端口(如 80)可能需要管理员权限才能使用。如果遇到权限问题,可以尝试使用更高的端口号(如 8000 以上)。
  • 防火墙: 确保你的防火墙允许 Streamlit 应用通过你指定的端口进行通信。
  • config.toml 位置: .streamlit/config.toml 文件必须位于你运行 streamlit run 命令的目录下,或者 Streamlit 能够找到的配置目录中。

总结

通过修改 Streamlit 的配置文件,指定一个新的可用端口,可以有效地解决 WinError 10013 端口权限错误。 记住选择一个未被占用的端口,并确保你的防火墙和权限设置允许 Streamlit 应用正常运行。 希望本教程能帮助你顺利启动 Streamlit 应用。

本文转载于:互联网 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注