scrapinghub / shub

Scrapinghub Command Line Client

Home Page:https://shub.readthedocs.io/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

shub deploy does not run on windows

shyim opened this issue · comments

commented
c:\users\shyim\appdata\local\programs\python\python39\lib\site-packages\setuptools\distutils_patch.py:25: UserWarning: Distutils was imported before Setuptools. This usage is discouraged and may exhibit undesirable behaviors or errors. Please use Setuptools' objects directly or at least import Setuptools first.
  warnings.warn(
Building images.scrapinghub.com/project/485868:1607361205.
Traceback (most recent call last):
  File "c:\users\shyim\appdata\local\programs\python\python39\lib\runpy.py", line 197, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "c:\users\shyim\appdata\local\programs\python\python39\lib\runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "C:\Users\shyim\AppData\Local\Programs\Python\Python39\Scripts\shub.exe\__main__.py", line 7, in <module>
  File "c:\users\shyim\appdata\local\programs\python\python39\lib\site-packages\click\core.py", line 764, in __call__
    return self.main(*args, **kwargs)
  File "c:\users\shyim\appdata\local\programs\python\python39\lib\site-packages\click\core.py", line 717, in main
    rv = self.invoke(ctx)
  File "c:\users\shyim\appdata\local\programs\python\python39\lib\site-packages\click\core.py", line 1137, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "c:\users\shyim\appdata\local\programs\python\python39\lib\site-packages\click\core.py", line 956, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "c:\users\shyim\appdata\local\programs\python\python39\lib\site-packages\click\core.py", line 555, in invoke
    return callback(*args, **kwargs)
  File "c:\users\shyim\appdata\local\programs\python\python39\lib\site-packages\shub\deploy.py", line 78, in cli
    upload_cmd(target, version)
  File "c:\users\shyim\appdata\local\programs\python\python39\lib\site-packages\shub\image\upload.py", line 54, in upload_cmd
    build.build_cmd(target, version, skip_tests, no_cache, build_arg, filename=filename)
  File "c:\users\shyim\appdata\local\programs\python\python39\lib\site-packages\shub\image\build.py", line 80, in build_cmd
    build_progress = build_progress_cls(events)
  File "c:\users\shyim\appdata\local\programs\python\python39\lib\site-packages\shub\image\build.py", line 110, in __init__
    self.bar = utils.create_progress_bar(
  File "c:\users\shyim\appdata\local\programs\python\python39\lib\site-packages\shub\image\utils.py", line 289, in create_progress_bar
    return ProgressBar(
  File "c:\users\shyim\appdata\local\programs\python\python39\lib\site-packages\tqdm\_tqdm.py", line 383, in __new__
    cls.monitor = TMonitor(cls, cls.monitor_interval)
  File "c:\users\shyim\appdata\local\programs\python\python39\lib\site-packages\tqdm\_tqdm.py", line 68, in __init__
    getattr(sys, 'setcheckinterval'))(100)
AttributeError: module 'sys' has no attribute 'setcheckinterval'
Exception ignored in: <function tqdm.__del__ at 0x000002A70E3545E0>
Traceback (most recent call last):
  File "c:\users\shyim\appdata\local\programs\python\python39\lib\site-packages\tqdm\_tqdm.py", line 764, in __del__
    self.close()
  File "c:\users\shyim\appdata\local\programs\python\python39\lib\site-packages\tqdm\_tqdm.py", line 994, in close
    if self.disable:
AttributeError: 'ProgressBar' object has no attribute 'disable'

Could you ensure you're using tqdm==4.11.2 pinned in the shub' setup.py/requirements.txt?

And the initial error is related to tqdm/tqdm#978, I believe we'll need to update tqdm version to support Python 3.9.

I’ve tried a shub deploy with the latest version of tqdm, and it worked. Is it possible we simply need to remove ==4.11.2 from setup.py? May it be an unnecessary leftover from the time when shub only allowed locked versions of dependencies?

May it be an unnecessary leftover from the time when shub only allowed locked versions of dependencies?

@Gallaecio it is mostly related to this: #383 (review)

basically newer versions of tqdm generates a little bit different progress bars, which fails in our unittests, that is why it was pinned in the first place, we can upgrade tqdm but it would also require a fix/rework in the test cases.

or removing the tqdm's test cases, I'm not so sure why we were testing the progress bar ourselfs.

I'm working on this 👍