【问题标题】:Pytest fails when importing podpac module导入 podpac 模块时 Pytest 失败
【发布时间】:2020-09-23 13:50:33
【问题描述】:

当我们从 C:/rootdir 运行测试时,我们的测试会失败,但是当我们在 C:/rootdir/tests/our_module/ 中单独运行测试时,它会失败,并在下面显示很长的错误跟踪。它肯定是由导入在我们的第 24 行触发的:

from podpac.datalib.terraintiles import TerrainTiles

错误跟踪:

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

我不知道该怎么做。我尝试将 C:/rootdir/tests/out_module/ 添加到 sys.path,但它完全一样失败。我正在使用其他可能使用 matplotlib 的软件包,例如 numpy/pandas/sklearn 所以我不确定这是否会导致导入问题 - 由于奇怪的导入错误,我在其他所有内容之后导入 podpac在某些模块之前导入它时会发生这种情况。 unicode 声明冲突的东西。

【问题讨论】:

    标签: python matplotlib pytest python-import keyerror


    【解决方案1】:

    通过在模块顶部运行此修复

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

    感谢这个问题的答案Laravel to Python RuntimeError: Can't determine home directory

    【讨论】:

      猜你喜欢
      • 2019-04-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-05
      • 2020-05-21
      • 1970-01-01
      • 2013-12-03
      相关资源
      最近更新 更多