WinError 10013错误通常是由于端口冲突引起的,通过修改Streamlit的默认端口,可以有效解决此问题。
当你在CMD中运行Streamlit应用时,可能会遇到如下错误信息:
这个错误表明Streamlit尝试使用的端口已经被其他程序占用,导致权限错误。解决此问题的关键在于修改Streamlit使用的端口。
解决方法:修改Streamlit的默认端口
Streamlit允许用户自定义服务器端口。可以通过创建一个.
stream
lit/config.toml文件,并在其中配置server.port参数来修改端口。
创建配置文件:
在你的Streamlit应用所在的目录下,创建一个名为.streamlit的文件夹(如果不存在)。在该文件夹下,创建一个名为config.toml的文件。
编辑配置文件:
使用文本编辑器打开config.toml文件,并添加以下内容:
在这个配置中,我们将Streamlit的端口设置为80。你可以根据实际情况选择一个未被占用的端口,例如8000、8080等。 请注意,如果选择的端口小于1024,可能需要管理员权限才能运行Streamlit。
Trae win
Trae Windows 官方版本现已全面支持 Win10 和 Win11 系统(64位)。国内开发者可直接访问 Trae 中文官网(trae.cn 或 trae.com.cn),一键下载官方正版 .exe 安装包,享受国内直连的高速稳定体验。安装过程极其简便,双击即可运行,并支持一键无缝导入 VS Code 或 Cursor 的原有主题、快捷键及插件配置。登录支持手机号、微信或稀土掘金账号。内置免费的豆包与 DeepSeek 等顶级大模型,让你开箱即用,轻松开启高效的 AI 智能编程之旅。
下载
重启Streamlit应用:
保存config.toml文件,并在CMD中重新运行Streamlit应用:
如果一切顺利,Streamlit应用应该能够成功启动,而不会再出现WinError 10013错误。
示例代码:
以下是一个简单的Streamlit应用示例,你可以将其保存为main.py,并在CMD中运行:
注意事项:
确保选择的端口未被其他程序占用。你可以使用netstat -a命令(在CMD中运行)来查看当前系统上正在使用的端口。
如果修改端口后仍然出现问题,可以尝试重启
计算机
。
如果你的Streamlit应用需要通过
防火墙
访问,请确保防火墙允许Streamlit使用的端口。
.streamlit文件夹和config.toml文件必须位于Streamlit应用所在的目录下。
如果你的Streamlit版本较低,可能不支持通过config.toml文件配置端口。请尝试升级Streamlit到最新版本。
总结:
通过修改Streamlit的默认端口,可以有效地解决WinError 10013错误。 按照上述步骤,创建并编辑config.toml文件,选择一个未被占用的端口,然后重启Streamlit应用,即可解决此问题。 记住,选择合适的端口并确保防火墙设置正确是确保Streamlit应用顺利运行的关键。
PermissionError: [WinError 10013] An attempt was made to access a socket in a way forbidden by its access permissions[server]
port = 80streamlit run main.pyimport streamlit as st
import pandas as pd
st.write("""
# 我的第一个Streamlit应用
你好,*世界!*
""")
df = pd.DataFrame({
'col1': [1, 2, 3],
'col2': [4, 5, 6]
})
st.write(df)