jazzband / Watson

:watch: A wonderful CLI to track your time!
http://tailordev.github.io/Watson/
MIT License
2.46k stars 240 forks source link

watson throws exception on start: ValueError: 'default' must be a list when 'multiple' is true. #433

Closed hholst80 closed 3 years ago

hholst80 commented 3 years ago

Tried with both Python 3.9 and 3.8 same error.

[rancher@delaware ~]$ docker run -d --name=watson -p 4242:4242 python:3.9 sleep inf
Unable to find image 'python:3.9' locally
3.9: Pulling from library/python
Digest: sha256:f265c5096aa52bdd478d2a5ed097727f51721fda20686523ab1b3038cc7d6417
Status: Downloaded newer image for python:3.9
87c0b6f669bd67a162344e0af72aefd86117829404348c2628e0757446540f55
[rancher@delaware ~]$ docker exec -it watson bash
root@87c0b6f669bd:/# pip install td-watson
Collecting td-watson
  Downloading td_watson-2.0.1-py2.py3-none-any.whl (38 kB)
Collecting click>=7.0
  Downloading click-8.0.1-py3-none-any.whl (97 kB)
     |████████████████████████████████| 97 kB 9.7 MB/s 
Collecting click-didyoumean
  Downloading click-didyoumean-0.0.3.tar.gz (2.6 kB)
Collecting arrow>=1.0.0
  Downloading arrow-1.1.0-py3-none-any.whl (58 kB)
     |████████████████████████████████| 58 kB 9.7 MB/s 
Collecting requests
  Downloading requests-2.25.1-py2.py3-none-any.whl (61 kB)
     |████████████████████████████████| 61 kB 10.4 MB/s 
Collecting python-dateutil>=2.7.0
  Downloading python_dateutil-2.8.1-py2.py3-none-any.whl (227 kB)
     |████████████████████████████████| 227 kB 19.7 MB/s 
Collecting six>=1.5
  Downloading six-1.16.0-py2.py3-none-any.whl (11 kB)
Collecting certifi>=2017.4.17
  Downloading certifi-2020.12.5-py2.py3-none-any.whl (147 kB)
     |████████████████████████████████| 147 kB 21.7 MB/s 
Collecting chardet<5,>=3.0.2
  Downloading chardet-4.0.0-py2.py3-none-any.whl (178 kB)
     |████████████████████████████████| 178 kB 22.1 MB/s 
Collecting idna<3,>=2.5
  Downloading idna-2.10-py2.py3-none-any.whl (58 kB)
     |████████████████████████████████| 58 kB 11.1 MB/s 
Collecting urllib3<1.27,>=1.21.1
  Downloading urllib3-1.26.4-py2.py3-none-any.whl (153 kB)
     |████████████████████████████████| 153 kB 20.1 MB/s 
Building wheels for collected packages: click-didyoumean
  Building wheel for click-didyoumean (setup.py) ... done
  Created wheel for click-didyoumean: filename=click_didyoumean-0.0.3-py3-none-any.whl size=2146 sha256=7b675c6b27a7afc70f128ce093958da0af00fa9cccfc117fe45c17d439a79448
  Stored in directory: /root/.cache/pip/wheels/8e/65/f1/72b26505d64ac43ea4cad5c07d97eda18ade90dccc32e71a75
Successfully built click-didyoumean
Installing collected packages: six, urllib3, python-dateutil, idna, click, chardet, certifi, requests, click-didyoumean, arrow, td-watson
Successfully installed arrow-1.1.0 certifi-2020.12.5 chardet-4.0.0 click-8.0.1 click-didyoumean-0.0.3 idna-2.10 python-dateutil-2.8.1 requests-2.25.1 six-1.16.0 td-watson-2.0.1 urllib3-1.26.4
WARNING: Running pip as root will break packages and permissions. You should install packages reliably by using venv: https://pip.pypa.io/warnings/venv
WARNING: You are using pip version 21.1.1; however, version 21.1.2 is available.
You should consider upgrading via the '/usr/local/bin/python -m pip install --upgrade pip' command.
root@87c0b6f669bd:/# python --version
Python 3.9.5
root@87c0b6f669bd:/# pip list
Package          Version
---------------- ---------
arrow            1.1.0
certifi          2020.12.5
chardet          4.0.0
click            8.0.1
click-didyoumean 0.0.3
idna             2.10
pip              21.1.1
python-dateutil  2.8.1
requests         2.25.1
setuptools       56.2.0
six              1.16.0
td-watson        2.0.1
urllib3          1.26.4
wheel            0.36.2
WARNING: You are using pip version 21.1.1; however, version 21.1.2 is available.
You should consider upgrading via the '/usr/local/bin/python -m pip install --upgrade pip' command.
root@87c0b6f669bd:/# watson
Traceback (most recent call last):
  File "/usr/local/bin/watson", line 5, in <module>
    from watson.__main__ import cli
  File "/usr/local/lib/python3.9/site-packages/watson/__main__.py", line 1, in <module>
    from watson import cli
  File "/usr/local/lib/python3.9/site-packages/watson/cli.py", line 529, in <module>
    def report(watson, current, from_, to, projects, tags, ignore_projects,
  File "/usr/local/lib/python3.9/site-packages/click/decorators.py", line 247, in decorator
    _param_memo(f, OptionClass(param_decls, **option_attrs))
  File "/usr/local/lib/python3.9/site-packages/watson/cli.py", line 46, in __init__
    super(MutuallyExclusiveOption, self).__init__(*args, **kwargs)
  File "/usr/local/lib/python3.9/site-packages/click/core.py", line 2482, in __init__
    super().__init__(param_decls, type=type, multiple=multiple, **attrs)
  File "/usr/local/lib/python3.9/site-packages/click/core.py", line 2108, in __init__
    raise ValueError(
ValueError: 'default' must be a list when 'multiple' is true.
root@87c0b6f669bd:/# 
jmaupetit commented 3 years ago

Yup, we've merged a temporary fix in #431 ... This still needs a new release.

Closing as duplicate of #430