Python 遇到 OSError: [WinError 10048]

本文介绍了解决Python程序中因端口被重复占用而导致的OSError问题。通过终结PyCharm中的运行状态或结束gitbash中的python进程来释放被占用的端口。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

OSError: [WinError 10048] 通常每个套接字地址(协议/网络地址/端口)只允许使用一次。
看大家的博客都是在使用socket模块进行服务端和客户端之间的连接时出现如上错误。我在爬虫时出现的问题,问题在于端口被重复占用。

原因:

当我们在PyCharm中把运行窗口中运行状态终结了,实质是执行的python程序还没有结束, 所以打开windows任务管理器,把名为python的进程统统结束。
我用git bash运行一段时间后也会出现这个错误。

### 错误分析 当遇到 `OSError: [WinError 193] %1 不是有效的 Win32 应用程序` 这类错误时,通常意味着操作系统尝试加载了一个与当前运行环境不兼容的可执行文件或动态链接库 (DLL)[^1]。 具体来说,在 Windows 平台上,如果 Python 解释器试图加载一个不同架构(比如 32 位 vs 64 位)下的 DLL 文件,则会触发此异常。例如,使用 64 位版本的 Python 尝试加载 32 位版的外部库就会引发该问题[^2]。 ### 解决方案 #### 方案一:匹配 Python 和依赖项的位数 确保所使用的 Python 版本与其所需加载的所有第三方模块和库处于相同的 CPU 架构上。如果是 64 位的操作系统,默认情况下建议优先考虑安装并使用相同类型的 64 位软件组件;但如果项目确实需要特定于 32 位的支持,则应切换到相应的 32 位发行版。 对于已经存在的开发环境而言,重新创建一个新的基于目标平台设置的新虚拟环境可能是必要的操作之一: ```bash # 创建新的32位Python解释器对应的venv环境 python-32 -m venv my_32bit_env ``` #### 方案二:更新或替换冲突的库 检查是否有任何已知存在此类兼容性问题的具体库,并寻找其官方发布的适用于当前系统的最新稳定版本或者替代品。有时开发者社区也会提供一些临时性的修复措施来绕过这些问题[^4]。 另外需要注意的是,某些特殊场景下可能涉及到跨语言编译产生的中间件(如 Fortran 编写的 .dll),此时除了调整上述因素外还需要确认这些资源本身也具备正确的体系结构支持[^5]。 ### 预防措施 为了避免将来再次发生类似的错误,可以采取以下预防手段: - 统筹规划整个项目的依赖关系树; - 明确记录各个组成部分所需的最低硬件/OS要求; - 在 CI/CD 流程中加入针对多平台构建测试环节。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值