
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 stimport pandas as pdst.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应用顺利运行的关键。
以上就是如何解决Streamlit在CMD中运行时的WinError 10013错误的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1376599.html
微信扫一扫
支付宝扫一扫