biolink / biolinkml

DEPRECATED: replaced by linkml
https://github.com/linkml/linkml
Creative Commons Zero v1.0 Universal
23 stars 12 forks source link

Latest version of PyShEx causes an exception in biolinkml. #304

Closed PhillipsOwen closed 3 years ago

PhillipsOwen commented 3 years ago

Using the latest version of PyShEx (0.7.15) raises an exception "No module named pyshex".

To invoke the behavior install PyShEx v0.7.15 and create/run a python script that imports biolink ToolKit. the same code using PyShEx version 0.7.14 does not raise this exception.

tagging @deepakunni3

Here is the stack dump.

... File "C:\Users\powen\PycharmProjects\TranslatorSRI\bl_lookup\bl_lookup\bl.py", line 6, in from bmt import Toolkit File "C:\Users\powen\AppData\Local\Programs\Python\Python38\lib\site-packages\bmt__init__.py", line 1, in from bmt.toolkit import Toolkit File "C:\Users\powen\AppData\Local\Programs\Python\Python38\lib\site-packages\bmt\toolkit.py", line 5, in from biolinkml.meta import SchemaDefinition, Element, Definition, ClassDefinition, SlotDefinition File "C:\Users\powen\AppData\Local\Programs\Python\Python38\lib\site-packages\biolinkml\meta.py", line 21, in from biolinkml.utils.formatutils import camelcase, underscore, sfx File "C:\Users\powen\AppData\Local\Programs\Python\Python38\lib\site-packages\biolinkml\utils\formatutils.py", line 4, in from pyshex.shex_evaluator import EvaluationResult ModuleNotFoundError: No module named 'pyshex'

deepakunni3 commented 3 years ago

To provide another example,

If I were to install PyShEx 0.7.14 using pip and then import PyShEx, I get no error:

from pyshex.shex_evaluator import EvaluationResult

But if I were to install PyShEx 0.7.15 using pip and then import PyShEx, then I see the following:

from pyshex.shex_evaluator import EvaluationResult
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'pyshex'
hsolbrig commented 3 years ago

Apologies --- apparently we dropped a flawed release this morning. 0.7.15 has been yanked from pypi until we can figure out what happened

deepakunni3 commented 3 years ago

Thanks for the quick response.

I think it might be safer to remove the files for 0.7.15 release from PyPI so that pip install PyShEx doesn't end up pulling the flawed release.

hsolbrig commented 3 years ago

Yank should hide them unless you explicitly say "0.7.15", no? Are you still getting it from a plain pip install? Could it be a local cache? Does pip install pyshex --no-cache-dir do that as well?

deepakunni3 commented 3 years ago

Ah, I see. Yes, it was the cache messing up.

Thanks for the clarification @hsolbrig 👍