1

Our tests fail when we run tests from the C:/rootdir, but when we run a test individually, in C:/rootdir/tests/our_module/, it fails with a long error trace below. It is definitely triggered on our line 24 by the import:

from podpac.datalib.terraintiles import TerrainTiles

Error Trace:

platform win32 -- Python 3.7.8, pytest-6.0.2, py-1.9.0, pluggy-0.13.1 --

C:\Users\user\anaconda3\envs\our_module\lib\site-packages\lazy_import\__init__.py:149: in __getattribute__
    return type(self)._lazy_import_callables[attr]
E   KeyError: '__path__'

During handling of the above exception, another exception occurred:
tests\our_module\test_dcp.py:13: in <module>
    ???
our_module\dcp.py:24: in <module>
    ???
C:\Users\user\anaconda3\envs\our_module\lib\site-packages\podpac\__init__.py:44: in <module>
    ???
C:\Users\user\anaconda3\envs\our_module\lib\site-packages\podpac\core\node.py:23: in <module>
    ???
C:\Users\user\anaconda3\envs\our_module\lib\site-packages\podpac\core\units.py:37: in <module>
    ???
C:\Users\user\anaconda3\envs\our_module\lib\site-packages\podpac\core\style.py:9: in <module>
    ???
<frozen importlib._bootstrap>:983: in _find_and_load
    ???
<frozen importlib._bootstrap>:959: in _find_and_load_unlocked
    ???
C:\Users\user\anaconda3\envs\our_module\lib\site-packages\lazy_import\__init__.py:156: in __getattribute__
    _load_module(self)
C:\Users\user\anaconda3\envs\our_module\lib\site-packages\lazy_import\__init__.py:510: in _load_module
    reload_module(module)
C:\Users\user\anaconda3\envs\our_module\lib\importlib\__init__.py:169: in reload
    _bootstrap._exec(spec, module)
C:\Users\user\anaconda3\envs\our_module\lib\site-packages\matplotlib\__init__.py:912: in <module>
    ???
C:\Users\user\anaconda3\envs\our_module\lib\site-packages\matplotlib\__init__.py:602: in matplotlib_fname
    ???
C:\Users\user\anaconda3\envs\our_module\lib\site-packages\matplotlib\__init__.py:599: in gen_candidates
    ???
C:\Users\user\anaconda3\envs\our_module\lib\site-packages\matplotlib\__init__.py:239: in wrapper
    ???
C:\Users\user\anaconda3\envs\our_module\lib\site-packages\matplotlib\__init__.py:502: in get_configdir
    ???
C:\Users\user\anaconda3\envs\our_module\lib\site-packages\matplotlib\__init__.py:444: in _get_xdg_config_dir
    ???
C:\Users\user\anaconda3\envs\our_module\lib\pathlib.py:1088: in home
    return cls(cls()._flavour.gethomedir(None))
C:\Users\user\anaconda3\envs\our_module\lib\pathlib.py:267: in gethomedir
    raise RuntimeError("Can't determine home directory")
E   RuntimeError: Can't determine home directory

I'm stumped on what to do. I've tried adding C:/rootdir/tests/out_module/ to the sys.path, but it fails exactly the same. I am using other packages that might use matplotlib like numpy/pandas/sklearn so I'm not sure if this might be causing import problems - I am importing podpac after everything else because of a weird import error that occurs when it's imported before certain modules. Something with unicode conflicting declarations.

nobbyhawk
  • 21
  • 3

1 Answers1

1

Fixed by running this at the top of the module

os.environ['HOME'] = os.curdir

Credit to the answer from this question Laravel to Python RuntimeError: Can't determine home directory

nobbyhawk
  • 21
  • 3