
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允许用户自定义服务器端口。可以通过创建一个.streamlit/config.toml文件,并在其中配置server.port参数来修改端口。
创建配置文件:
在你的Streamlit应用所在的目录下,创建一个名为.streamlit的文件夹(如果不存在)。在该文件夹下,创建一个名为config.toml的文件。
编辑配置文件:
使用文本编辑器打开config.toml文件,并添加以下内容:
[server] port = 80
在这个配置中,我们将Streamlit的端口设置为80。你可以根据实际情况选择一个未被占用的端口,例如8000、8080等。 请注意,如果选择的端口小于1024,可能需要管理员权限才能运行Streamlit。
重启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)注意事项:
总结:
通过修改Streamlit的默认端口,可以有效地解决WinError 10013错误。 按照上述步骤,创建并编辑config.toml文件,选择一个未被占用的端口,然后重启Streamlit应用,即可解决此问题。 记住,选择合适的端口并确保防火墙设置正确是确保Streamlit应用顺利运行的关键。
以上就是如何解决Streamlit在CMD中运行时的WinError 10013错误的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号