bazel-contrib / bazel-contrib/rules_python

Missing config settings for multiple python versions

オープン
#2,847 コメント 2 件 リアクション 0 件 担当者 0 名 GitHub で見る
主要言語
Starlark
スター
688
フォーク
721
平均マージ
15時間 7分
マージ済み PR(30日)
76

説明

# 🐞 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

コントリビューションガイド

コントリビューションガイドを開く

調査の方向性

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.

索引モデルが issue の本文から書いたものです。

評価

技術スタック
python
領域
build-system
issue の種類
バグ
難易度
4/5
見積もり時間
3〜5日
活発さ
停滞
明瞭さ
説明が足りない
初心者へのやさしさ
32/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。