rules_python does not respect the `namespace_packages=` argument of setuptools.setup().
(more information here: http://setuptools.readthedocs.io/en/latest/setuptools.html#namespace-packages)
There are packages, that have the same namespace in their name. Trying to use them via rules_python fails on ImportError: No module named '...'.
For example, try installing this package: testing.postgresql. It has another package testing.common.database as its dependency. Now rules_python installs those separately without taking the namespace_packages=['testing'] argument into account, which creates a situation where during import testing.postgresql, the program fails with ImportError: No module named 'testing.postgresql', due to it's stopping the search after finding the first "testing" directory in the path, which belongs to testing.common.database.
Possible solution: pushing an init.py file declaring a namespace (having the content: __path__ = __import__("pkgutil").extend_path(__path__, __name__)) instead of an empty file to folders that should be namespaces.