And then you encounter packages with `setup.py` that generates a random list of dependencies on each run. You can't know the dependencies without running code.