跳转到主内容
新派编程网 - 新潮编程理念,全新技术课堂!

如何解决Streamlit在CMD中运行时的WinError 10013错误

WinError 10013错误通常是由于端口冲突引起的,通过修改Streamlit的默认端口,可以有效解决此问题。 当你在CMD中运行Streamlit应用时,可能会遇到如下错误信息:
PermissionError: [WinError 10013] An attempt was made to access a socket in a way forbidden by its access permissions
这个错误表明Streamlit尝试使用的端口已经被其他程序占用,导致权限错误。解决此问题的关键在于修改Streamlit使用的端口。 解决方法:修改Streamlit的默认端口 Streamlit允许用户自定义服务器端口。可以通过创建一个. stream lit/config.toml文件,并在其中配置server.port参数来修改端口。 创建配置文件: 在你的Streamlit应用所在的目录下,创建一个名为.streamlit的文件夹(如果不存在)。在该文件夹下,创建一个名为config.toml的文件。 编辑配置文件: 使用文本编辑器打开config.toml文件,并添加以下内容:
[server] port = 80
在这个配置中,我们将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 run main.py
如果一切顺利,Streamlit应用应该能够成功启动,而不会再出现WinError 10013错误。 示例代码: 以下是一个简单的Streamlit应用示例,你可以将其保存为main.py,并在CMD中运行:
import streamlit as st import pandas as pd st.write(""" # 我的第一个Streamlit应用 你好,*世界!* """) df = pd.DataFrame({ 'col1': [1, 2, 3], 'col2': [4, 5, 6] }) st.write(df)
注意事项: 确保选择的端口未被其他程序占用。你可以使用netstat -a命令(在CMD中运行)来查看当前系统上正在使用的端口。 如果修改端口后仍然出现问题,可以尝试重启 计算机 。 如果你的Streamlit应用需要通过 防火墙 访问,请确保防火墙允许Streamlit使用的端口。 .streamlit文件夹和config.toml文件必须位于Streamlit应用所在的目录下。 如果你的Streamlit版本较低,可能不支持通过config.toml文件配置端口。请尝试升级Streamlit到最新版本。 总结: 通过修改Streamlit的默认端口,可以有效地解决WinError 10013错误。 按照上述步骤,创建并编辑config.toml文件,选择一个未被占用的端口,然后重启Streamlit应用,即可解决此问题。 记住,选择合适的端口并确保防火墙设置正确是确保Streamlit应用顺利运行的关键。

相关文章