bazel-contrib / bazel-contrib/rules_python

pre-compile is failing for binary targets if there is no main specified

Ouverte
#2,881 3 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
core-rules type: bug
Langage dominant
Starlark
Étoiles
688
Forks
721
Merge moyen
15 h 7 min
PR mergées (30 j)
76

Description

With #2768 optional, it is possible to have zero `.py` files or the `main` is not used or specify `main_module`.

Then I get errors:
```
providers = py_executable_impl(
File "/home/ignas-anikevicius/.cache/bazel/_bazel_ignas-anikevicius/e1764a0ec8835154284d951e9bb11b85/external/rules_python+/python/private/py_executable.bzl", line 256, column 35, in py_executable_impl
return py_executable_base_impl(
File "/home/ignas-anikevicius/.cache/bazel/_bazel_ignas-anikevicius/e1764a0ec8835154284d951e9bb11b85/external/rules_python+/python/private/py_executable.bzl", line 1049, column 50, in py_executable_base_impl
main_py = precompile_result.py_to_pyc_map[main_py]
Error: key None not found in dictionary
```

It seems that we may have forgotten to handle the `main_module` in precompilation.

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Commencez dans python/private/py_executable.bzl autour de py_executable_impl et py_executable_base_impl, en particulier au niveau de la recherche de précompilation à la ligne 1049. Reproduisez une cible binaire sans fichiers .py et sans que main ou main_module soient spécifiés, puis vérifiez que la précompilation gère le point d’entrée sélectionné sans rechercher None dans py_to_pyc_map.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
python
Domaine
build-system
Type d'issue
Bug
Difficulté
3/5
Temps estimé
1-2 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
45/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.