Open comius opened 4 hours ago
Just thinking out loud. If fib isn't importable, then it would mean sys.path is different or the file isn't present. If PyInfo got lost, either is likely. Our test coverage for built-in PyInfo interop is pretty light.
Otherwise, the other thing might be safe path (we enable it by default) it removes the main files dir from system.path, which the example is relying on. The version of python used can affect this. That it varies by bazel version makes me doubt this cause, though. edit: the example has fib in another dir using imports=[.]
. safepath wouldn't affect tihs
I was able to repro.
repro note: PR was updated to use a repo-root based import. Needs to be changed back to from fib import Fib
to demonstrate the failure.
sys.path is missing the fibonacci. So yeah, something is causing the imports=[.]
part to be lost.
🐞 bug report
Description
I upgraded Bazel to use rules_python 0.39.0 -> all the tests pass. I removed python providers from Bazel -> smoke tests started failing.
🔬 Minimal Reproduction
Checkout https://github.com/bazelbuild/bazel/pull/24343 bazel build //src/test/shell/bazel:bazel_example_test --test_filter=test_native_python
🔥 Exception or Error
https://storage.googleapis.com/bazel-untrusted-buildkite-artifacts/01932fe0-131a-4503-8eac-2516742f6f27/src/test/shell/bazel/bazel_example_test/shard_1_of_3/test_attempts/attempt_1.log
Example in: https://github.com/bazelbuild/bazel/blob/master/examples/py_native/bin.py
My thoughs
It looks like that part of information was in Builtin providers that now gets lost.