bazel-contrib / bazel-contrib/rules_python
pre-compile is failing for binary targets if there is no main specified
- 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ả
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.
Hướng dẫn đóng góp
Hướng nghiên cứu
Bắt đầu trong python/private/py_executable.bzl, xung quanh py_executable_impl và py_executable_base_impl, đặc biệt là phần tra cứu biên dịch trước ở dòng 1049. Tái hiện một binary target không có tệp .py, không chỉ định main hoặc main_module, sau đó xác minh rằng quá trình biên dịch trước xử lý entry point đã chọn mà không tra cứu None trong py_to_pyc_map.
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ó
- 3/5
- Thời gian dự kiến
- 1-2 ngày
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Khá rõ ràng
- Mức phù hợp với người mới
- 45/100