Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

Paths are not normalized to posix format on Windows

未关闭
#578 0 条评论 2 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

评估

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

调研方向

在 Windows 上使用 protoc 命令或 buf.gen.yaml 配置,并结合多个依赖文件和 strategy: all 复现该问题。阅读报告中链接的 Protobuf 生成规范,并将生成的路径与其要求的 POSIX 格式进行比较;完成的标准是生成过程不产生路径警告,且生成的代码正确。

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

描述

bug investigation needed
Summary

Paths are not normalized to posix format on Windows

Reproduction Steps

Call protoc with the betterpython out options with multiple files that depend on one another.

Also happen when run through buf: (buf.gen.yaml)

version: v2
plugins:
  - local: protoc-gen-python_betterproto
    out: output/pythonbetter/src
    strategy: all
inputs:
  - directory: .
    paths:
      - protos

strategy: all causes this behaviour since it doesn't call protoc once per proto file but once with all. (Which is what you want)

Expected Results

Neatly generated code and no output

Actual Results

Hundreds of these:

path "protocols\\test\\__init__.py" is not equal to "protocols/test/__init__.py", and therefore does not conform to the Protobuf generation specification. The path must be non-empty, relative, use "/" instead of "\" as the path separator, and not use "." or ".." as part of the path. Generation will continue without error here, but please raise an issue with the maintainer of the plugin and reference https://github.com/protocolbuffers/protobuf/blob/95e6c5b4746dd7474d540ce4fb375e3f79a086f8/src/google/protobuf/compiler/plugin.proto#L122
System Information
libprotoc 3.21.12
Python 3.10.12
Name: betterproto
Version: 2.0.0b6
Summary: A better Protobuf / gRPC generator & library
Home-page: https://github.com/danielgtaylor/python-betterproto
Author: Daniel G. Taylor
Author-email: [email protected]
License: MIT
Location: c:\users\erwindehaan\mambaforge\lib\site-packages
Requires: grpclib, python-dateutil
Required-by:

On Windows 11 x64, running in Powershell

Checklist
  • I have searched the issues for duplicates.
  • I have shown the entire traceback, if possible.
  • I have verified this issue occurs on the latest prelease of betterproto which can be installed using pip install -U --pre betterproto, if possible.
主要语言
Python
星标
1.8k
派生
235
PR 合并指标
30 天内没有已合并 PR

环境准备

从这里开始

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

danielgtaylor/python-betterproto 的其他 Issue

查看 danielgtaylor/python-betterproto 的全部 Issue

相似的 Issue

更多 Python Issue

把新 issue 发到你的邮箱

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