Hi,
I'm currently seeing problems with a specific wheel. Let's call it bar. Not only it depends on foo (which gets downloaded first), its setup.py actually calls code from foo, so the wheel will fail during `python setup.py egg_info`, with an error similar to
Collecting bar==X (from -r /blablabla/requirements.bazel.txt (line 23))
Complete output from command python setup.py egg_info:
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/tmp/XYZ/bar/setup.py", line N, in <module>
import foo
ImportError: No module named foo
I changed the configuration temporarily to call pip_import() and I still get the same error, so it seems like it's more like a fundamental issue with how dependencies are brought in.
Is this an use case that has been considered before? I know it's ugly, but that's what you have to deal with in the mystical and magic world of Python packages.
One way of dealing with this is to bake foo into my base Docker image for Bazel, but of course that has a number of tricky ramifications. Another way, whose details I haven't been able to figure yet, would be to do the work in two stages: the first installs foo, while the second installs bar (and has foo in PYTHON_PATH).
Thanks,
Rudi