bazel-contrib / bazel-contrib/rules_python
pip.override in upstream modules but got "overrides are only supported in root modules"
- Ngôn ngữ chính
- Starlark
- Star
- 688
- Fork
- 721
- Merge trung bình
- 15 giờ 7 phút
- Pull request đã merge (30 ngày)
- 76
Mô tả
# 🐞 bug report
### Affected Rule
The issue is caused by the rule: https://github.com/bazelbuild/rules_python/blob/66a8b5b595710bd107c31ad5d449593536effb76/python/private/pypi/extension.bzl#L404
### Is this a regression?
No
### Description
I'm migrating from WORKSPACE to bzlmod.
There is a library `A`, in which it has patches like
```
pip.override(
file = "torch-2.3.0-cp311-cp311-manylinux1_x86_64.whl",
patch_strip = 1,
patches = [
# FIXME: https://github.com/pytorch/pytorch/issues/117350
"//bazel/patches:pytorch.patch",
"//bazel/patches:pytorch_record.patch",
],
)
```
And I have another project `B`, which depends on A, however after adding deps like
`bazel_dep(name = "A", version = "x.y.z")`
I got the error
```
ERROR: /xxxx/df5a01bdd2671083bb14bf68b19a3f38/external/rules_python~/python/private/pypi/extension.bzl:406:21: Traceback (most recent call last):
File "/xx/.cache/bazel/xxxxx/df5a01bdd2671083bb14bf68b19a3f38/external/rules_python~/python/private/pypi/extension.bzl", line 406, column 21, in _pip_impl
fail("overrides are only supported in root modules")
Error in fail: overrides are only supported in root modules
ERROR: Analysis of target '//xxx' failed; build aborted: error evaluating module extension pip in @@rules_python~//python/extensions:pip.bzl
```
## 🔬 Minimal Reproduction
## 🔥 Exception or Error
## 🌍 Your Environment
**Operating System:**
Ubuntu 24.04.1 LTS
**Output of `bazel version`:**
7.4.1
**Rules_python version:**
0.34.0
**Anything else relevant?**
Hướng dẫn đóng góp
Hướng nghiên cứu
Bắt đầu tại python/private/pypi/extension.bzl, khoảng các dòng 404-406, nơi pip.override trong một mô-đun upstream gây ra lỗi đã được báo cáo. Tái hiện quá trình di chuyển từ WORKSPACE sang bzlmod với thư viện A và dự án B bằng Bazel 7.4.1 và rules_python 0.34.0. Công việc được xem là hoàn tất khi kịch bản dependency được giải quyết hoặc giới hạn được hỗ trợ được ghi rõ trong tài liệu.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- python
- Lĩnh vực
- build-system
- Loại issue
- Lỗi
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Cần làm rõ
- Mức phù hợp với người mới
- 32/100