gwforg / gwf

A flexible, pragmatic workflow tool.
https://gwf.app/
GNU General Public License v3.0
31 stars 12 forks source link

gwf touch: unexpected keyword argument 'group' #402

Closed LudvigOlsen closed 1 year ago

LudvigOlsen commented 1 year ago

I installed gwf 2.0.0 via conda in my python 3.7.12 environment.

$ gwf touch
Traceback (most recent call last):
  File "/home/ludvigolsen/anaconda3/envs/tfbs/bin/gwf", line 7, in <module>
    from gwf.cli import main
  File "/home/ludvigolsen/anaconda3/envs/tfbs/lib/python3.7/site-packages/gwf/cli.py", line 114, in <module>
    @with_plugins(entry_points(group="gwf.plugins"))
TypeError: entry_points() got an unexpected keyword argument 'group'

Seeing that you import entry_points from importlib_metadata, I tried updating that package via conda install -c main importlib_metadata==4.11.3 based on https://stackoverflow.com/a/73864286

This seems to have removed that error (leaving here for other users), but now I get:

AttributeError: module 'gwf.backends.local' has no attribute 'LocalBackend'

Now, I've already set gwf config set backend slurm (just tried it again but no difference). Not sure how to fix that.

I've downgraded to 1.8.5, which seems to work. So sticking with that for now. But perhaps the above info about my 2.0.0 adventure is useful for you :-)

dansondergaard commented 1 year ago

Hi Ludvig,

Could you try removing gwf completely from the environment and installing it again?

Also, can you reproduce this in a new environment?

On 3 May 2023, at 16.42, Ludvig Renbo Olsen @.***> wrote:



I installed gwf 2.0.0 via conda in my python 3.7.12 environment.

$ gwf touch Traceback (most recent call last): File "/home/ludvigolsen/anaconda3/envs/tfbs/bin/gwf", line 7, in from gwf.cli import main File "/home/ludvigolsen/anaconda3/envs/tfbs/lib/python3.7/site-packages/gwf/cli.py", line 114, in @with_plugins(entry_points(group="gwf.plugins")) TypeError: entry_points() got an unexpected keyword argument 'group'

Seeing that you import entry_points from importlib_metadata, I tried updating that package via conda install -c main importlib_metadata==4.11.3 based on https://stackoverflow.com/a/73864286

This seems to have removed that error (leaving here for other users), but now I get:

AttributeError: module 'gwf.backends.local' has no attribute 'LocalBackend'

Now, I've already set gwf config set backend slurm (just tried it again but no difference). Not sure how to fix that.

I've downgraded to 1.8.5, which seems to work. So sticking with that for now. But perhaps the above info about my 2.0.0 adventure is useful for you :-)

— Reply to this email directly, view it on GitHubhttps://github.com/gwforg/gwf/issues/402, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AABSA33UGJJCEBNKS2YTXVDXEJVEVANCNFSM6AAAAAAXUQN7TM. You are receiving this because you are subscribed to this thread.Message ID: @.***>

LudvigOlsen commented 1 year ago

New environment testing:

$ conda create --name test python=3.7.11
$ conda activate test
$ conda install -c gwforg gwf=2

The following NEW packages will be INSTALLED:

  attrs              conda-forge/noarch::attrs-23.1.0-pyh71513ae_0
  click              conda-forge/noarch::click-7.1.2-pyh9f0ad1d_0
  click-plugins      conda-forge/noarch::click-plugins-1.1.1-py_0
  gwf                gwforg/noarch::gwf-2.0.0-py_0
  importlib_metadata conda-forge/linux-64::importlib_metadata-1.5.0-py37_0
  zipp               conda-forge/noarch::zipp-3.15.0-pyhd8ed1ab_0

Notice that importlib_metadata v1.5.0 is installed automatically. Calling gwf status gives the entry_points error:

Traceback (most recent call last):
  File "/home/ludvigolsen/anaconda3/envs/test/bin/gwf", line 7, in <module>
    from gwf.cli import main
  File "/home/ludvigolsen/anaconda3/envs/test/lib/python3.7/site-packages/gwf/cli.py", line 114, in <module>
    @with_plugins(entry_points(group="gwf.plugins"))
TypeError: entry_points() got an unexpected keyword argument 'group'

So again, I ran conda install -c main importlib_metadata==4.11.3 (probably one of the later versions would work as well). Now it seems to work. Also in the old repo, where the error likely was that I had both the pypi version (1.7.2) installed and the anaconda version.