sockets and asyncio on Windows depend on SYSTEMROOT env var
未关闭
还没有人认领这个 Issue。
docs
easy
topic-socket
- 主要语言
- Python
- 星标
- 77.2k
- 派生
- 36k
- PR 合并指标
- PR 指标待抓取
描述
Bug report
Bug description:
os.environ.clear() # THIS WAS THE CAUSE!!!
import asyncio
This causes the following:
Traceback (most recent call last):
File "c:\Users\user\Documents\Development\main\main.py", line 3, in <module>
import asyncio
File "C:\Program Files\Python311\Lib\asyncio\__init__.py", line 42, in <module>
from .windows_events import *
File "C:\Program Files\Python311\Lib\asyncio\windows_events.py", line 8, in <module>
import _overlapped
OSError: [WinError 10106] The requested service provider could not be loaded or initialized
It took me a whole day to figure out that os.environ.clear() causes this bug to occur. I'm not sure if this is supposed to occur, I just thought I would post this in case other people are struggling with this.
CPython versions tested on:
3.8, 3.9, 3.10, 3.11
Operating systems tested on:
Windows
Linked PRs
- gh-134363
- gh-134435
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
调研方向
首先检查通过 asyncio/init.py 和 asyncio/windows_events.py 的已报告导入路径,然后查看关联的 PR gh-134363 和 gh-134435。在导入 asyncio 之前使用 os.environ.clear(),在 Windows 上重现该故障,并利用现有讨论确定预期行为和完成标准。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- python
- 领域
- networking, operating-systems
- Issue 类型
- 缺陷
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 活跃度
- 停滞
- 描述清晰度
- 需要澄清
- 新手友好度
- 20/100