Knowledge-Graph-Hub / kg-phenio

A Graph for experiments doing ML on ontologies.
BSD 3-Clause "New" or "Revised" License
6 stars 4 forks source link

Build fails during transform due to `ModuleNotFoundError: No module named 'biolink'` #128

Closed caufieldjh closed 6 months ago

caufieldjh commented 6 months ago

Build fails like this:

12:50:37  Adding node sources using kg_phenio/transform_utils/phenio/phenio_node_sources.yaml
12:50:37  Traceback (most recent call last):
12:50:37    File "/var/lib/jenkins/workspace/ledge-graph-hub_kg-phenio_master/gitrepo/run.py", line 100, in <module>
12:50:37      cli()
12:50:37    File "/var/lib/jenkins/workspace/ledge-graph-hub_kg-phenio_master/gitrepo/venv/lib/python3.9/site-packages/click/core.py", line 1157, in __call__
12:50:37      return self.main(*args, **kwargs)
12:50:37    File "/var/lib/jenkins/workspace/ledge-graph-hub_kg-phenio_master/gitrepo/venv/lib/python3.9/site-packages/click/core.py", line 1078, in main
12:50:37      rv = self.invoke(ctx)
12:50:37    File "/var/lib/jenkins/workspace/ledge-graph-hub_kg-phenio_master/gitrepo/venv/lib/python3.9/site-packages/click/core.py", line 1688, in invoke
12:50:37      return _process_result(sub_ctx.command.invoke(sub_ctx))
12:50:37    File "/var/lib/jenkins/workspace/ledge-graph-hub_kg-phenio_master/gitrepo/venv/lib/python3.9/site-packages/click/core.py", line 1434, in invoke
12:50:37      return ctx.invoke(self.callback, **ctx.params)
12:50:37    File "/var/lib/jenkins/workspace/ledge-graph-hub_kg-phenio_master/gitrepo/venv/lib/python3.9/site-packages/click/core.py", line 783, in invoke
12:50:37      return __callback(*args, **kwargs)
12:50:37    File "/var/lib/jenkins/workspace/ledge-graph-hub_kg-phenio_master/gitrepo/run.py", line 75, in transform
12:50:37      kg_transform(*args, **kwargs)
12:50:37    File "/var/lib/jenkins/workspace/ledge-graph-hub_kg-phenio_master/gitrepo/kg_phenio/transform.py", line 36, in transform
12:50:37      t.run()
12:50:37    File "/var/lib/jenkins/workspace/ledge-graph-hub_kg-phenio_master/gitrepo/kg_phenio/transform_utils/phenio/phenio_transform.py", line 62, in run
12:50:37      self.parse(k, data_file, k)
12:50:37    File "/var/lib/jenkins/workspace/ledge-graph-hub_kg-phenio_master/gitrepo/kg_phenio/transform_utils/phenio/phenio_transform.py", line 153, in parse
12:50:37      transform_source(
12:50:37    File "/var/lib/jenkins/workspace/ledge-graph-hub_kg-phenio_master/gitrepo/venv/lib/python3.9/site-packages/koza/cli_runner.py", line 85, in transform_source
12:50:37      source_koza.process_sources()
12:50:37    File "/var/lib/jenkins/workspace/ledge-graph-hub_kg-phenio_master/gitrepo/venv/lib/python3.9/site-packages/koza/app.py", line 107, in process_sources
12:50:37      transform_module = importlib.import_module(transform_code)
12:50:37    File "/usr/lib/python3.9/importlib/__init__.py", line 127, in import_module
12:50:37      return _bootstrap._gcd_import(name[level:], package, level)
12:50:37    File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
12:50:37    File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
12:50:37    File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
12:50:37    File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
12:50:37    File "<frozen importlib._bootstrap_external>", line 855, in exec_module
12:50:37    File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
12:50:37    File "/var/lib/jenkins/workspace/ledge-graph-hub_kg-phenio_master/gitrepo/kg_phenio/transform_utils/phenio/phenio_node_sources.py", line 124, in <module>
12:50:37      NodeClass = getattr(importlib.import_module("biolink.pydanticmodel"), category_name)
12:50:37    File "/usr/lib/python3.9/importlib/__init__.py", line 127, in import_module
12:50:37      return _bootstrap._gcd_import(name[level:], package, level)
12:50:37    File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
12:50:37    File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
12:50:37    File "<frozen importlib._bootstrap>", line 972, in _find_and_load_unlocked
12:50:37    File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
12:50:37    File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
12:50:37    File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
12:50:37    File "<frozen importlib._bootstrap>", line 984, in _find_and_load_unlocked
12:50:37  ModuleNotFoundError: No module named 'biolink'

OK, that's a long stack trace to say that the Biolink Pydantic classes aren't found, more specifically because biolink can't be found.

caufieldjh commented 6 months ago

pip raises this error during install:

ERROR: biolink-model 4.0.0 has requirement importlib-metadata<7.0.0,>=6.8.0, but you'll have importlib-metadata 7.0.0 which is incompatible.

Not sure if it's related

caufieldjh commented 6 months ago

Also appears to work as expected locally:

>>> import importlib
>>> importlib.import_module("biolink.pydanticmodel")
<module 'biolink.pydanticmodel' from '/home/harry/kg-phenio/.venv/lib/python3.9/site-packages/biolink/pydanticmodel.py'>

though to be fair that is with biolink 3.6.0

caufieldjh commented 6 months ago

Should be fixed by #129