bazel-contrib / bazel-contrib/rules_python

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

Đang mở
#2,881 3 bình luận 0 reaction 0 người được giao Xem trên GitHub
core-rules type: bug
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

Mở 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

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.