Windows10最新版pip安装voevent-parse触发OSError[Errno22]报错求助
Windows 10 环境下pip安装voevent-parse报OSError [Errno 22] 问题处理
根因定位
- 从堆栈日志的最终报错行可锁定问题触发点:pip解压voevent-parse源码包时,需要写入的目标文件路径包含
MOA_Lensing_Event_2015-07-10T14:50:54.00.xml - Windows NTFS 文件系统的命名规则禁止文件名中出现半角冒号
:,上述文件名内置的ISO时间戳格式包含两处冒号分隔字段,属于系统判定的非法路径,直接触发文件写入异常[Errno 22] Invalid argument。该问题仅在Windows环境下触发,Linux、macOS系统的文件命名规则不禁止冒号字段,因此不会出现同类报错。 - 日志前置环节出现的
KeyError: 'voevent-parse'属于pip新版依赖解析器在解压流程中断后抛出的关联逻辑异常,并非问题根因,无需针对该报错单独排查。
解决方案
按操作成本从低到高排序,可任选其一执行:
- 方案1:调整系统文件规则后重试
- 按下
Win+I打开系统设置,依次进入「更新和安全」-「开发者选项」,开启开发人员模式 - 打开注册表编辑器,定位到
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem,将LongPathsEnabled配置项的数值修改为1,重启系统后重新执行pip install voevent-parse
- 按下
- 方案2:手动解压本地源码完成安装
- 执行命令将voevent-parse的源码包下载到本地目录:
pip download voevent-parse --no-deps -d .\voevent_source - 使用本地压缩工具解压下载得到的tar源码包,遍历解压目录下的文件,将所有文件名中包含半角冒号的文件手动重命名为符合Windows命名规则的名称(可将时间戳字段中的冒号统一替换为短横线)。上述重命名操作不影响包的正常运行,被修改的文件仅为单元测试使用的示例数据,不参与包的核心功能逻辑。
- 进入修改完成的源码目录,执行本地安装命令:
pip install .
- 执行命令将voevent-parse的源码包下载到本地目录:
- 方案3:临时降级pip版本绕过路径校验
- 执行命令将pip临时降级到20.2.4版本:
python -m pip install pip==20.2.4 - 重新执行
pip install voevent-parse完成安装 - 安装完成后可执行
python -m pip install --upgrade pip将pip恢复为最新版本
- 执行命令将pip临时降级到20.2.4版本:
内容的提问来源于stack exchange,提问作者ADM-F
相关产品推荐
相关产品推荐

