BCDA-APS / apstools

various tools for use with Bluesky at the APS
https://bcda-aps.github.io/apstools/latest/
Other
16 stars 9 forks source link

errors when building the Sphinx documentation #588

Closed prjemian closed 2 years ago

prjemian commented 2 years ago

Getting this error 29 times when building the Sphinx documentation locally:

WARNING: autodoc: failed to import module '_devices.tracking_signal' from module 'apstools'; the following exception was raised:
Traceback (most recent call last):
  File "/home/prjemian/.conda/envs/bluesky_2022_1/lib/python3.7/site-packages/sphinx/ext/autodoc/importer.py", line 70, in import_module
    return importlib.import_module(modname)
  File "/home/prjemian/.conda/envs/bluesky_2022_1/lib/python3.7/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 728, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/home/prjemian/Documents/projects/BCDA-APS/apstools/apstools/_devices/__init__.py", line 58, in <module>
    from .aps_cycle import ApsCycleComputedRO
  File "/home/prjemian/Documents/projects/BCDA-APS/apstools/apstools/_devices/aps_cycle.py", line 112, in <module>
    cycle_db = _ApsCycleDB()
  File "/home/prjemian/Documents/projects/BCDA-APS/apstools/apstools/_devices/aps_cycle.py", line 33, in __init__
    _cycles = json.loads(self._read_cycle_data().replace("'", '"'))
  File "/home/prjemian/.conda/envs/bluesky_2022_1/lib/python3.7/json/__init__.py", line 348, in loads
    return _default_decoder.decode(s)
  File "/home/prjemian/.conda/envs/bluesky_2022_1/lib/python3.7/json/decoder.py", line 337, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/home/prjemian/.conda/envs/bluesky_2022_1/lib/python3.7/json/decoder.py", line 355, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
prjemian commented 2 years ago

These modeuls:

(bluesky_2022_1) prjemian@zap:~/.../BCDA-APS/apstools$ grep "WARNING: autodoc: failed to import module" /tmp/errors.txt 
WARNING: autodoc: failed to import module 'snapshot' from module 'apstools'; the following exception was raised:
WARNING: autodoc: failed to import module 'examples' from module 'apstools'; the following exception was raised:
WARNING: autodoc: failed to import module 'devices' from module 'apstools'; the following exception was raised:
WARNING: autodoc: failed to import module '_devices.area_detector_support' from module 'apstools'; the following exception was raised:
WARNING: autodoc: failed to import module '_devices.aps_cycle' from module 'apstools'; the following exception was raised:
WARNING: autodoc: failed to import module '_devices.aps_machine' from module 'apstools'; the following exception was raised:
WARNING: autodoc: failed to import module '_devices.aps_undulator' from module 'apstools'; the following exception was raised:
WARNING: autodoc: failed to import module '_devices.axis_tuner' from module 'apstools'; the following exception was raised:
WARNING: autodoc: failed to import module '_devices.description_mixin' from module 'apstools'; the following exception was raised:
WARNING: autodoc: failed to import module '_devices.kohzu_monochromator' from module 'apstools'; the following exception was raised:
WARNING: autodoc: failed to import module '_devices.linkam_controllers' from module 'apstools'; the following exception was raised:
WARNING: autodoc: failed to import module '_devices.mixin_base' from module 'apstools'; the following exception was raised:
WARNING: autodoc: failed to import module '_devices.motor_mixins' from module 'apstools'; the following exception was raised:
WARNING: autodoc: failed to import module '_devices.preamp_base' from module 'apstools'; the following exception was raised:
WARNING: autodoc: failed to import module '_devices.ptc10_controller' from module 'apstools'; the following exception was raised:
WARNING: autodoc: failed to import module '_devices.scaler_support' from module 'apstools'; the following exception was raised:
WARNING: autodoc: failed to import module '_devices.shutters' from module 'apstools'; the following exception was raised:
WARNING: autodoc: failed to import module '_devices.srs570_preamplifier' from module 'apstools'; the following exception was raised:
WARNING: autodoc: failed to import module '_devices.struck3820' from module 'apstools'; the following exception was raised:
WARNING: autodoc: failed to import module '_devices.tracking_signal' from module 'apstools'; the following exception was raised:
WARNING: autodoc: failed to import module '_devices.xia_pf4' from module 'apstools'; the following exception was raised:
WARNING: autodoc: failed to import module 'plans' from module 'apstools'; the following exception was raised:
WARNING: autodoc: failed to import module '_plans.doc_run' from module 'apstools'; the following exception was raised:
WARNING: autodoc: failed to import module 'utils' from module 'apstools'; the following exception was raised:
WARNING: autodoc: failed to import module 'synApps.calcout' from module 'apstools'; the following exception was raised:
WARNING: autodoc: failed to import module 'synApps.epid' from module 'apstools'; the following exception was raised:
WARNING: autodoc: failed to import module 'synApps.sscan' from module 'apstools'; the following exception was raised:
WARNING: autodoc: failed to import module 'synApps.swait' from module 'apstools'; the following exception was raised:
WARNING: autodoc: failed to import module 'synApps.transform' from module 'apstools'; the following exception was raised:
prjemian commented 2 years ago

Second error type occurs 8 times:

WARNING: autodoc: failed to import module 'plans' from module 'apstools'; the following exception was raised:
Traceback (most recent call last):
  File "/home/prjemian/.conda/envs/bluesky_2022_1/lib/python3.7/site-packages/sphinx/ext/autodoc/importer.py", line 70, in import_module
    return importlib.import_module(modname)
  File "/home/prjemian/.conda/envs/bluesky_2022_1/lib/python3.7/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 728, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/home/prjemian/Documents/projects/BCDA-APS/apstools/apstools/plans.py", line 50, in <module>
    from . import utils as APS_utils
  File "/home/prjemian/Documents/projects/BCDA-APS/apstools/apstools/utils.py", line 79, in <module>
    from databroker._drivers.mongo_normalized import BlueskyMongoCatalog
  File "/home/prjemian/.conda/envs/bluesky_2022_1/lib/python3.7/site-packages/databroker/_drivers/mongo_normalized.py", line 10, in <module>
    from ..core import to_event_pages, to_datum_pages, Entry
  File "/home/prjemian/.conda/envs/bluesky_2022_1/lib/python3.7/site-packages/databroker/__init__.py", line 25, in <module>
    load_combo_catalog()])
  File "/home/prjemian/.conda/envs/bluesky_2022_1/lib/python3.7/site-packages/intake/catalog/local.py", line 833, in __init__
    super().__init__(*args, **kwargs)
  File "/home/prjemian/.conda/envs/bluesky_2022_1/lib/python3.7/site-packages/intake/catalog/base.py", line 101, in __init__
    self.force_reload()
  File "/home/prjemian/.conda/envs/bluesky_2022_1/lib/python3.7/site-packages/intake/catalog/base.py", line 159, in force_reload
    self._load()
  File "/home/prjemian/.conda/envs/bluesky_2022_1/lib/python3.7/site-packages/intake/catalog/local.py", line 837, in _load
    catalog._load()
  File "/home/prjemian/.conda/envs/bluesky_2022_1/lib/python3.7/site-packages/intake/catalog/local.py", line 810, in _load
    entry.reload()
  File "/home/prjemian/.conda/envs/bluesky_2022_1/lib/python3.7/site-packages/intake/catalog/base.py", line 164, in reload
    self.force_reload()
  File "/home/prjemian/.conda/envs/bluesky_2022_1/lib/python3.7/site-packages/intake/catalog/base.py", line 159, in force_reload
    self._load()
  File "/home/prjemian/.conda/envs/bluesky_2022_1/lib/python3.7/site-packages/intake/catalog/local.py", line 608, in _load
    self.parse(text)
  File "/home/prjemian/.conda/envs/bluesky_2022_1/lib/python3.7/site-packages/intake/catalog/local.py", line 685, in parse
    getshell=self.getshell)
  File "/home/prjemian/.conda/envs/bluesky_2022_1/lib/python3.7/site-packages/intake/catalog/local.py", line 318, in __init__
    self._data = self._parse(data)
  File "/home/prjemian/.conda/envs/bluesky_2022_1/lib/python3.7/site-packages/intake/catalog/local.py", line 520, in _parse
    data_sources=self._parse_data_sources(data),
  File "/home/prjemian/.conda/envs/bluesky_2022_1/lib/python3.7/site-packages/intake/catalog/local.py", line 507, in _parse_data_sources
    obj = self._parse_data_source(name, source)
  File "/home/prjemian/.conda/envs/bluesky_2022_1/lib/python3.7/site-packages/intake/catalog/local.py", line 432, in _parse_data_source
    return self._parse_data_source_local(name, data)
  File "/home/prjemian/.conda/envs/bluesky_2022_1/lib/python3.7/site-packages/intake/catalog/local.py", line 479, in _parse_data_source_local
    **ds)
  File "/home/prjemian/.conda/envs/bluesky_2022_1/lib/python3.7/site-packages/intake/catalog/local.py", line 185, in __init__
    dr = get_plugin_class(driver)
  File "/home/prjemian/.conda/envs/bluesky_2022_1/lib/python3.7/site-packages/intake/source/__init__.py", line 103, in get_plugin_class
    if name in registry:
  File "/home/prjemian/.conda/envs/bluesky_2022_1/lib/python3.7/_collections_abc.py", line 666, in __contains__
    self[key]
  File "/home/prjemian/.conda/envs/bluesky_2022_1/lib/python3.7/site-packages/intake/utils.py", line 206, in __getitem__
    return self._registry[key]
  File "/home/prjemian/.conda/envs/bluesky_2022_1/lib/python3.7/site-packages/intake/source/__init__.py", line 26, in __getitem__
    self[item] = super().__getitem__(item).load()
  File "/home/prjemian/.conda/envs/bluesky_2022_1/lib/python3.7/site-packages/entrypoints.py", line 86, in load
    obj = getattr(obj, attr)
AttributeError: module 'databroker._drivers.mongo_normalized' has no attribute 'BlueskyMongoCatalog'
prjemian commented 2 years ago

Note the suggestion about a possible circular import:

AttributeError: partially initialized module 'databroker._drivers.mongo_normalized' has no attribute 'BlueskyMongoCatalog' (most likely due to a circular import)

from

WARNING: autodoc: failed to import module 'synApps.transform' from module 'apstools'; the following exception was raised:
Traceback (most recent call last):
  File "/home/prjemian/.conda/envs/bluesky_2022_1/lib/python3.9/site-packages/sphinx/ext/autodoc/importer.py", line 70, in import_module
    return importlib.import_module(modname)
  File "/home/prjemian/.conda/envs/bluesky_2022_1/lib/python3.9/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 850, in exec_module
  File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
  File "/home/prjemian/Documents/projects/BCDA-APS/apstools/apstools/synApps/__init__.py", line 39, in <module>
    from .calcout import *
  File "/home/prjemian/Documents/projects/BCDA-APS/apstools/apstools/synApps/calcout.py", line 38, in <module>
    from .. import utils as APS_utils
  File "/home/prjemian/Documents/projects/BCDA-APS/apstools/apstools/utils.py", line 133, in <module>
    from databroker._drivers.mongo_normalized import BlueskyMongoCatalog
  File "/home/prjemian/.conda/envs/bluesky_2022_1/lib/python3.9/site-packages/databroker/_drivers/mongo_normalized.py", line 10, in <module>
    from ..core import to_event_pages, to_datum_pages, Entry
  File "/home/prjemian/.conda/envs/bluesky_2022_1/lib/python3.9/site-packages/databroker/__init__.py", line 22, in <module>
    catalog = MergedCatalog([
  File "/home/prjemian/.conda/envs/bluesky_2022_1/lib/python3.9/site-packages/intake/catalog/local.py", line 833, in __init__
    super().__init__(*args, **kwargs)
  File "/home/prjemian/.conda/envs/bluesky_2022_1/lib/python3.9/site-packages/intake/catalog/base.py", line 101, in __init__
    self.force_reload()
  File "/home/prjemian/.conda/envs/bluesky_2022_1/lib/python3.9/site-packages/intake/catalog/base.py", line 159, in force_reload
    self._load()
  File "/home/prjemian/.conda/envs/bluesky_2022_1/lib/python3.9/site-packages/intake/catalog/local.py", line 837, in _load
    catalog._load()
  File "/home/prjemian/.conda/envs/bluesky_2022_1/lib/python3.9/site-packages/intake/catalog/local.py", line 810, in _load
    entry.reload()
  File "/home/prjemian/.conda/envs/bluesky_2022_1/lib/python3.9/site-packages/intake/catalog/base.py", line 164, in reload
    self.force_reload()
  File "/home/prjemian/.conda/envs/bluesky_2022_1/lib/python3.9/site-packages/intake/catalog/base.py", line 159, in force_reload
    self._load()
  File "/home/prjemian/.conda/envs/bluesky_2022_1/lib/python3.9/site-packages/intake/catalog/local.py", line 608, in _load
    self.parse(text)
  File "/home/prjemian/.conda/envs/bluesky_2022_1/lib/python3.9/site-packages/intake/catalog/local.py", line 684, in parse
    result = CatalogParser(data, context=context, getenv=self.getenv,
  File "/home/prjemian/.conda/envs/bluesky_2022_1/lib/python3.9/site-packages/intake/catalog/local.py", line 318, in __init__
    self._data = self._parse(data)
  File "/home/prjemian/.conda/envs/bluesky_2022_1/lib/python3.9/site-packages/intake/catalog/local.py", line 520, in _parse
    data_sources=self._parse_data_sources(data),
  File "/home/prjemian/.conda/envs/bluesky_2022_1/lib/python3.9/site-packages/intake/catalog/local.py", line 507, in _parse_data_sources
    obj = self._parse_data_source(name, source)
  File "/home/prjemian/.conda/envs/bluesky_2022_1/lib/python3.9/site-packages/intake/catalog/local.py", line 432, in _parse_data_source
    return self._parse_data_source_local(name, data)
  File "/home/prjemian/.conda/envs/bluesky_2022_1/lib/python3.9/site-packages/intake/catalog/local.py", line 477, in _parse_data_source_local
    return LocalCatalogEntry(catalog_dir=self._context['root'],
  File "/home/prjemian/.conda/envs/bluesky_2022_1/lib/python3.9/site-packages/intake/catalog/local.py", line 185, in __init__
    dr = get_plugin_class(driver)
  File "/home/prjemian/.conda/envs/bluesky_2022_1/lib/python3.9/site-packages/intake/source/__init__.py", line 103, in get_plugin_class
    if name in registry:
  File "/home/prjemian/.conda/envs/bluesky_2022_1/lib/python3.9/_collections_abc.py", line 769, in __contains__
    self[key]
  File "/home/prjemian/.conda/envs/bluesky_2022_1/lib/python3.9/site-packages/intake/utils.py", line 206, in __getitem__
    return self._registry[key]
  File "/home/prjemian/.conda/envs/bluesky_2022_1/lib/python3.9/site-packages/intake/source/__init__.py", line 26, in __getitem__
    self[item] = super().__getitem__(item).load()
  File "/home/prjemian/.conda/envs/bluesky_2022_1/lib/python3.9/site-packages/entrypoints.py", line 86, in load
    obj = getattr(obj, attr)
AttributeError: partially initialized module 'databroker._drivers.mongo_normalized' has no attribute 'BlueskyMongoCatalog' (most likely due to a circular import)
prjemian commented 2 years ago

On examination of the logs, these errors also are found in the GitHub Actions workflow to build the documentation.

prjemian commented 2 years ago

Various problems.

First in the aps_cycle.py code, pivot from json to yaml file and always rely on the local file.