🐞 bug report
Affected Rule
py_package + py_wheel
Is this a regression?
Yes, related commit #2409
Description
Using the resulting py_binary with py_package+py_wheel fails to find the interpreter symlink. This also breaks pkg_tar from rules_pkg
🔬 Minimal Reproduction
diff --git a/examples/wheel/BUILD.bazel b/examples/wheel/BUILD.bazel
index 58a43015..f06f6ee8 100644
--- a/examples/wheel/BUILD.bazel+++ b/examples/wheel/BUILD.bazel@@ -17,6 +17,7 @@ load("@bazel_skylib//rules:write_file.bzl", "write_file")
load("//examples/wheel/private:wheel_utils.bzl", "directory_writer", "make_variable_tags")
load("//python:packaging.bzl", "py_package", "py_wheel")
load("//python:pip.bzl", "compile_pip_requirements")
load("//examples/wheel/private:wheel_utils.bzl", "directory_writer", "make_variable_tags")
load("//python:packaging.bzl", "py_package", "py_wheel")
load("//python:pip.bzl", "compile_pip_requirements")
+load("//python:py_binary.bzl", "py_binary")
load("//python:py_library.bzl", "py_library")
load("//python:py_test.bzl", "py_test")
load("//python:versions.bzl", "gen_python_config_settings")
@@ -414,3 +415,29 @@ py_console_script_binary(
pkg = "@pypiserver//pypiserver",
script = "pypi-server",
)
++py_binary(+ name = "main_binary",+ srcs = ["main.py"],+ main = "main.py",+ deps = [+ "//examples/wheel/lib:module_with_data",+ "//examples/wheel/lib:simple_module",+ ],+)++py_package(+ name = "binary_package",+ # Only include these Python packages.+ packages = ["examples"],+ deps = [":main_binary"],+)++py_wheel(+ name = "minimal_binary",+ distribution = "requires_files",+ version = "0.1.0",+ deps = [+ ":binary_package",+ ],+)🔥 Exception or Error
runpy.run_path(main_filename, run_name="__main__")
File "<frozen runpy>", line 291, in run_path
File "<frozen runpy>", line 98, in _run_module_code
File "<frozen runpy>", line 88, in _run_code
File "/home/ewianda/.cache/bazel/_bazel_ewianda/87bd9802a0763f5c88728552ef326f75/sandbox/linux-sandbox/14/execroot/_main/bazel-out/k8-opt-exec-ST-d57f47055a04/bin/tools/wheelmaker.runfiles/_main/tools/wheelmaker.py", line 631, in<module>main()
File "/home/ewianda/.cache/bazel/_bazel_ewianda/87bd9802a0763f5c88728552ef326f75/sandbox/linux-sandbox/14/execroot/_main/bazel-out/k8-opt-exec-ST-d57f47055a04/bin/tools/wheelmaker.runfiles/_main/tools/wheelmaker.py", line 541, in main
maker.add_file(package_filename, real_filename)
File "/home/ewianda/.cache/bazel/_bazel_ewianda/87bd9802a0763f5c88728552ef326f75/sandbox/linux-sandbox/14/execroot/_main/bazel-out/k8-opt-exec-ST-d57f47055a04/bin/tools/wheelmaker.runfiles/_main/tools/wheelmaker.py", line 304, in add_file
self._whlfile.add_file(package_filename, real_filename)
File "/home/ewianda/.cache/bazel/_bazel_ewianda/87bd9802a0763f5c88728552ef326f75/sandbox/linux-sandbox/14/execroot/_main/bazel-out/k8-opt-exec-ST-d57f47055a04/bin/tools/wheelmaker.runfiles/_main/tools/wheelmaker.py", line 156, in add_file
with open(real_filename, "rb") as fsrc:
^^^^^^^^^^^^^^^^^^^^^^^^^
FileNotFoundError: [Errno 2] No such file or directory: 'bazel-out/k8-fastbuild/bin/examples/wheel/_main_binary.venv/bin/python3'
Target //examples/wheel:minimal_binary failed to build
🐞 bug report
Affected Rule
py_package + py_wheel
Is this a regression?
Yes, related commit #2409
Description
Using the resulting py_binary with py_package+py_wheel fails to find the interpreter symlink. This also breaks
pkg_tarfrom rules_pkg🔬 Minimal Reproduction
🔥 Exception or Error