Skip to content

regression in 1.4.0-rc1Β #2815

@baxelrod-bdai

Description

@baxelrod-bdai

🐞 bug report

Affected Rule

bazel build //... errors out when using rules_python 1.4.0-rc1 (and rc0) on a small repository.

Is this a regression?

Yes, rules_python 1.3.0 builds fine.

Description

The build error:

baxelrod@baxelrod-ThinkPad:~/repos/rai-bazel-sandbox$ bazel build //...
ERROR: no such package '@@rules_python++pip+pip//importlib_metadata': BUILD file not found in directory 'importlib_metadata' of external repository @@rules_python++pip+pip. Add a BUILD file to a directory to mark it as a package.
ERROR: /home/baxelrod/.cache/bazel/_bazel_baxelrod/223f490fa0c2f2ec38707ddac3dd6272/external/rules_python++pip+pip_310_build/BUILD.bazel:6:34: no such package '@@rules_python++pip+pip//importlib_metadata': BUILD file not found in directory 'importlib_metadata' of external repository @@rules_python++pip+pip. Add a BUILD file to a directory to mark it as a package. and referenced by '@@rules_python++pip+pip_310_build//:whl'
ERROR: Analysis of target '//:modules_map_pip' failed; build aborted: Analysis failed
INFO: Elapsed time: 15.117s
INFO: 0 processes.
ERROR: Build did NOT complete successfully
INFO: Build Event Protocol files produced successfully.
Loading: 300 packages loaded
    Fetching repository @@rules_python++pip+pip_u2204_310_argparse; starting 14s
    Fetching repository @@rules_python++pip+pip_u2204_310_numpy; starting 14s
    Fetching repository @@rules_python++pip+pip_310_minilog; starting 14s
    Fetching repository @@rules_python++pip+pip_u2204_310_spatialmath_python; starting 14s
    Fetching ... @@rules_python++pip+pip_310_jinja2; Running whl_library.ResolveRequirement(rules_python++pip+pip_310_jinja2, jinja2==3.1.6) 14s
    Fetching repository @@rules_python++pip+pip_310_numpy; starting 14s
    Fetching repository @@rules_python++pip+pip_310_markupsafe; starting 14s
    Fetching repository @@rules_python++pip+pip_310_google_cloud_bigquery; starting 14s ... (116 fetches)

I'm running rules_uv like this:

pip_compile(
    name = "generate_requirements_latest",
    extra_args = [
        "--prerelease=allow",
        "--quiet",
        "--universal",
        "--upgrade",
    ],
    requirements_in = "requirements_latest.in",
    requirements_txt = "requirements_latest.lock",
)

Relevant versions:

bazel_dep(name = "aspect_rules_py", version = "1.3.2")
bazel_dep(name = "rules_python", version = "1.4.0-rc1") #1.3.0
bazel_dep(name = "rules_uv", version = "0.68.0")

On Linux Ubuntu 22.04, x86.

πŸ”¬ Minimal Reproduction

I'm not sure how to minimally reproduce. But my requirements.in file has only:

argparse >= 1.4.0
certifi >= 2025.1.31
charset-normalizer >= 3.4.1
datadog_api_client >= 2.23.0
google-auth >= 2.38.0
google-cloud-bigquery >= 3.31.0
google-cloud-storage >= 3.1.0
idna >= 3.10
matplotlib >= 3.10.1
minilog >= 2.3.1
numpy >= 1.22    ; platform_machine == 'aarch64'
numpy >= 2.2.4   ; platform_machine == 'x86_64'
pip-tools >= 7.4.1
pyqt5 >= 0.0     ; platform_machine == 'aarch64'
pyqt5 >= 5.15.11 ; platform_machine == 'x86_64'
pytest >= 8.3.5
requests >= 2.32.3
spatialmath-python >= 1.1.14 ; platform_system == 'Linux'
toml >= 0.10.2
torch >= 2.3
urllib3 >= 2.3.0

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions