bazel-contrib / bazel-contrib/rules_python

Missing config settings for multiple python versions

Open
#2,847 2 comments 0 reactions 0 assignees View on GitHub
Dominant language
Starlark
Stars
688
Forks
721
Avg merge
15h 7m
Merged PRs (30d)
76

Description

# 🐞 bug report

### Affected Rule

`pip.parse`

### Is this a regression?

Probably not

### Description

If you have a requirements file that pulls in wheels with manual URLs with different python version constraints, you get an error about missing internal config settings

## 🔬 Minimal Reproduction

https://github.com/bazel-contrib/rules_python/pull/2848

```
--index-url https://pypi.org/simple

gptqmodel @ https://github.com/ModelCloud/GPTQModel/releases/download/v2.0.0/gptqmodel-2.0.0+cu126torch2.6-cp310-cp310-linux_x86_64.whl ; python_full_version == '3.10.*' and sys_platform == 'linux'
gptqmodel @ https://github.com/ModelCloud/GPTQModel/releases/download/v2.0.0/gptqmodel-2.0.0+cu126torch2.6-cp311-cp311-linux_x86_64.whl ; python_full_version == '3.11.*' and sys_platform == 'linux'
gptqmodel @ https://github.com/ModelCloud/GPTQModel/releases/download/v2.0.0/gptqmodel-2.0.0+cu126torch2.6-cp312-cp312-linux_x86_64.whl ; python_full_version >= '3.12' and python_full_version < '3.14' and sys_platform == 'linux'
gptqmodel @ https://github.com/ModelCloud/GPTQModel/releases/download/v2.0.0/gptqmodel-2.0.0+cu126torch2.6-cp39-cp39-linux_x86_64.whl ; python_full_version < '3.10' and sys_platform == 'linux'
```

## 🔥 Exception or Error

```
bazel query 'deps(...)'
ERROR: Evaluation of query "deps(...)" failed: preloading transitive closure failed: no such target '@@rules_python++pip+pip//_config:is_cp39_cp311_linux_x86_64': target 'is_cp39_cp311_linux_x86_64' not declared in package '_config' defined by /home/ubuntu/.cache/bazel/_bazel_ubuntu/46f0c9813505c30d178a2aff399354ea/external/rules_python++pip+pip/_config/BUILD.bazel (did you mean is_cp39_cp39_linux_x86_64, is_cp39_cp39t_linux_x86_64, _is_cp39_cp39_linux_x86_64, or _is_cp39_cp39t_linux_x86_64?)
Loading: 1 packages loaded
Fetching repository @@rules_python++pip+pip_39_gptqmodel_2_0_0_cu126torch2_6_cp39_cp39_linux_x86_64; starting
Fetching repository @@rules_python++pip+pip_39_gptqmodel_2_0_0_cu126torch2_6_cp312_cp312_linux_x86_64; starting
Fetching repository @@rules_python++pip+pip_39_gptqmodel_2_0_0_cu126torch2_6_cp310_cp310_linux_x86_64; starting
```

## 🌍 Your Environment

**Operating System:**

  

linux x86_64

**Output of `bazel version`:**

  

8.2.1

**Rules_python version:**

https://github.com/bazelbuild/rules_python//commit/189e30df4001d34aba590e0267d3e5f72e6d8b19

Contributor guide

Open the contributing guide

Research direction

Start with the pip.parse entry point and reproduce the reported requirements file using the Bazel 8.2.1 bazel query command. Inspect the generated _config/BUILD.bazel targets, especially the missing is_cp39_cp311_linux_x86_64 target. Done means the supported Python-version combinations in the reproduction resolve without a missing-config-target error.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
build-system
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
32/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.