python / python/importlib_metadata

`PackagePath` does not support Windows paths

未关闭 适合新手
#528 4 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

主要语言
Python
星标
142
派生
97
PR 合并指标
30 天内没有已合并 PR

描述

Currently, importlib.metadata.files assumes that path are Unix-style with forward slashes, while the spec allows Windows-style backwards slashes too. This causes e.g. the .name on items to be inconsistent between platforms (https://github.com/astral-sh/uv/issues/14446).

https://github.com/python/importlib_metadata/blob/95ecf2aa573a68d4624506f801ca70992a337f41/importlib_metadata/__init__.py#L371

From https://packaging.python.org/en/latest/specifications/recording-installed-packages/#the-record-file

The path may be either absolute, or relative to the directory containing the .dist-info directory (commonly, the site-packages directory). On Windows, directories may be separated either by forward- or backslashes (/ or ).

Ref https://github.com/python/importlib_metadata/issues/51

贡献指南

这个仓库没有索引到贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

调研方向

从 importlib_metadata/init.py 中所引用的 PackagePath 实现附近开始,将其对正斜杠和反斜杠分隔路径的处理与 RECORD 规范进行比较。为 Windows 风格的路径添加覆盖,并验证生成的 .name 在不同路径分隔符之间保持一致。

由索引模型根据 Issue 内容生成。

评估

技术栈
python
领域
tooling
Issue 类型
缺陷
难度
2/5
预计耗时
1-3 小时
活跃度
冷清
描述清晰度
描述清楚
新手友好度
75/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。