KarchinLab / open-cravat

A modular annotation tool for genomic variants
MIT License
110 stars 27 forks source link

oc module install-base issue #249

Open marcellobeltrami opened 2 months ago

marcellobeltrami commented 2 months ago

Cannot install module base on my system. Can someone please help? It seems like a bug to me. Here is the debug output I get:

oc module install-base --debug

Traceback (most recent call last):
  File "/home/marcello/miniconda3/lib/python3.11/site-packages/cravat/oc.py", line 264, in main
    args.func(args)
  File "/home/marcello/miniconda3/lib/python3.11/site-packages/cravat/cravat_admin.py", line 424, in install_base
    install_modules(args)
  File "/home/marcello/miniconda3/lib/python3.11/site-packages/cravat/cravat_admin.py", line 304, in install_modules
    deps = au.get_install_deps(module_name, version=version)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/marcello/miniconda3/lib/python3.11/site-packages/cravat/admin_util.py", line 598, in get_install_deps
    __remove_locally_installed_deps(deps)
  File "/home/marcello/miniconda3/lib/python3.11/site-packages/cravat/admin_util.py", line 538, in __remove_locally_installed_deps
    if local_info and local_info.version in req:
                      ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/marcello/miniconda3/lib/python3.11/site-packages/pkg_resources/__init__.py", line 3129, in __contains__
    return self.specifier.contains(item, prereleases=True)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/marcello/miniconda3/lib/python3.11/site-packages/pkg_resources/_vendor/packaging/specifiers.py", line 789, in contains
    item = parse(item)
           ^^^^^^^^^^^
  File "/home/marcello/miniconda3/lib/python3.11/site-packages/pkg_resources/_vendor/packaging/version.py", line 56, in parse
    return Version(version)
           ^^^^^^^^^^^^^^^^
  File "/home/marcello/miniconda3/lib/python3.11/site-packages/pkg_resources/_vendor/packaging/version.py", line 275, in __init__
    match = self._regex.search(version)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: expected string or bytes-like object, got 'NoneType'
kmoad commented 2 months ago

This is certainly a bug of some kind. I couldn't reproduce it by simple running install-base on a fresh install though. What steps did you take before getting this error? Are there modules already installed?

Could you run

ls $(oc config md)

and

oc module ls

And post the outputs?

marcellobeltrami commented 2 months ago

Dear kmoad, Thank you for the reply. Here is the output.

I should state I am running the tool in WSL. Additionally, I did manage to get it to work by installing it through conda.

❯ ls $(oc config md)
❯ oc module ls
Name  Title  Type  Version  Data source ver  Size  

This is the full output, Nothing is actually there.