# This is an empty module. It is imported by pymod.py to test that if a module
# is loaded from the PYCOMMANDPATH, it can import other modules from the same
# directory correctly.
