mljar / mercury

Convert Jupyter Notebooks to Web Apps
https://RunMercury.com
GNU Affero General Public License v3.0
4.01k stars 255 forks source link

Mercury keeps "Waiting for worker ..." when starting it in WSL #284

Closed dehiker closed 1 year ago

dehiker commented 1 year ago

Mercury keeps "Waiting for worker ..." when started in WSL, as shown in the image below. Any ideas? Thanks a lot for your time!

1684640074388

Please note I got the output when "mercury run" in WSL terminal:

mercury run /usr/bin/xdg-open: 778: /usr/bin/xdg-open: x-www-browser: not found
/usr/bin/xdg-open: 778: /usr/bin/xdg-open: firefox: not found
/usr/bin/xdg-open: 778: /usr/bin/xdg-open: iceweasel: not found
/usr/bin/xdg-open: 778: /usr/bin/xdg-open: seamonkey: not found
/usr/bin/xdg-open: 778: /usr/bin/xdg-open: mozilla: not found
/usr/bin/xdg-open: 778: /usr/bin/xdg-open: epiphany: not found
/usr/bin/xdg-open: 778: /usr/bin/xdg-open: konqueror: not found
/usr/bin/xdg-open: 778: /usr/bin/xdg-open: chromium-browser: not found
/usr/bin/xdg-open: 778: /usr/bin/xdg-open: google-chrome: not found
/usr/bin/xdg-open: 778: /usr/bin/xdg-open: www-browser: not found
/usr/bin/xdg-open: 778: /usr/bin/xdg-open: links2: not found
/usr/bin/xdg-open: 778: /usr/bin/xdg-open: elinks: not found
/usr/bin/xdg-open: 778: /usr/bin/xdg-open: links: not found
/usr/bin/xdg-open: 778: /usr/bin/xdg-open: lynx: not found
/usr/bin/xdg-open: 778: /usr/bin/xdg-open: w3m: not found
xdg-open: no method available for opening 'http://127.0.0.1:8000'

Also while I tried to run with --verbose as this issue, I got this error:

mercury run --verbose Traceback (most recent call last):
File "/home/dh/.local/bin/celery", line 8, in
sys.exit(main())
File "/home/dh/.local/lib/python3.9/site-packages/celery/__main__.py", line 15, in main
sys.exit(_main())
File "/home/dh/.local/lib/python3.9/site-packages/celery/bin/celery.py", line 217, in main
return celery(auto_envvar_prefix="CELERY")
File "/home/dh/.conda/envs/mc0412/lib/python3.9/site-packages/click/core.py", line 1130, in __call__
return self.main(*args, **kwargs)
File "/home/dh/.conda/envs/mc0412/lib/python3.9/site-packages/click/core.py", line 1055, in main
rv = self.invoke(ctx)
File "/home/dh/.conda/envs/mc0412/lib/python3.9/site-packages/click/core.py", line 1657, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/home/dh/.conda/envs/mc0412/lib/python3.9/site-packages/click/core.py", line 1404, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/home/dh/.conda/envs/mc0412/lib/python3.9/site-packages/click/core.py", line 760, in invoke
return __callback(*args, **kwargs)
File "/home/dh/.conda/envs/mc0412/lib/python3.9/site-packages/click/decorators.py", line 26, in new_func
return f(get_current_context(), *args, **kwargs)
File "/home/dh/.local/lib/python3.9/site-packages/celery/bin/base.py", line 134, in caller
return f(ctx, *args, **kwargs)
File "/home/dh/.local/lib/python3.9/site-packages/celery/bin/worker.py", line 343, in worker
worker = app.Worker(
File "/home/dh/.local/lib/python3.9/site-packages/celery/worker/worker.py", line 94, in __init__
self.app.loader.init_worker()
File "/home/dh/.local/lib/python3.9/site-packages/celery/loaders/base.py", line 111, in init_worker
self.import_default_modules()
File "/home/dh/.local/lib/python3.9/site-packages/celery/loaders/base.py", line 105, in import_default_modules
raise response
File "/home/dh/.local/lib/python3.9/site-packages/celery/utils/dispatch/signal.py", line 276, in send
response = receiver(signal=self, sender=sender, **named)
File "/home/dh/.local/lib/python3.9/site-packages/celery/fixups/django.py", line 82, in on_import_modules
self.worker_fixup.validate_models()
File "/home/dh/.local/lib/python3.9/site-packages/celery/fixups/django.py", line 121, in validate_models
run_checks()
File "/home/dh/.local/lib/python3.9/site-packages/django/core/checks/registry.py", line 88, in run_checks
new_errors = check(app_configs=app_configs, databases=databases)
File "/home/dh/.local/lib/python3.9/site-packages/django/core/checks/urls.py", line 14, in check_url_config
return check_resolver(resolver)
File "/home/dh/.local/lib/python3.9/site-packages/django/core/checks/urls.py", line 24, in check_resolver
return check_method()
File "/home/dh/.local/lib/python3.9/site-packages/django/urls/resolvers.py", line 494, in check
for pattern in self.url_patterns:
File "/home/dh/.local/lib/python3.9/site-packages/django/utils/functional.py", line 57, in __get__
res = instance.__dict__[self.name] = self.func(instance)
File "/home/dh/.local/lib/python3.9/site-packages/django/urls/resolvers.py", line 715, in url_patterns
patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
File "/home/dh/.local/lib/python3.9/site-packages/django/utils/functional.py", line 57, in __get__
res = instance.__dict__[self.name] = self.func(instance)
File "/home/dh/.local/lib/python3.9/site-packages/django/urls/resolvers.py", line 708, in urlconf_module
return import_module(self.urlconf_name)
File "/home/dh/.conda/envs/mc0412/lib/python3.9/importlib/__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "frozen importlib._bootstrap", line 1030, in _gcd_import
File "frozen importlib._bootstrap", line 1007, in _find_and_load
File "frozen importlib._bootstrap", line 986, in _find_and_load_unlocked
File "frozen importlib._bootstrap", line 680, in _load_unlocked
File "frozen importlib._bootstrap_external", line 850, in exec_module
File "frozen importlib._bootstrap", line 228, in _call_with_frames_removed
File "/home/dh/.local/lib/python3.9/site-packages/mercury/server/urls.py", line 8, in
from apps.notebooks.urls import notebooks_urlpatterns
File "/home/dh/.local/lib/python3.9/site-packages/mercury/apps/notebooks/urls.py", line 3, in
from apps.notebooks.views import (
File "/home/dh/.local/lib/python3.9/site-packages/mercury/apps/notebooks/views.py", line 13, in
from apps.notebooks.tasks import task_init_notebook, task_watch
File "/home/dh/.local/lib/python3.9/site-packages/mercury/apps/notebooks/tasks.py", line 27, in
from apps.tasks.notify import validate_notify
File "/home/dh/.local/lib/python3.9/site-packages/mercury/apps/tasks/notify.py", line 8, in
from apps.tasks.tasks_export import export_to_pdf
File "/home/dh/.local/lib/python3.9/site-packages/mercury/apps/tasks/tasks_export.py", line 7, in
from apps.tasks.export_pdf import to_pdf
File "/home/dh/.local/lib/python3.9/site-packages/mercury/apps/tasks/export_pdf.py", line 8, in
from pyppeteer import launch
File "/home/dh/.local/lib/python3.9/site-packages/pyppeteer/__init__.py", line 30, in
from pyppeteer.launcher import connect, executablePath, launch, defaultArgs # noqa: E402; noqa: E402
File "/home/dh/.local/lib/python3.9/site-packages/pyppeteer/launcher.py", line 26, in
from pyppeteer.browser import Browser
File "/home/dh/.local/lib/python3.9/site-packages/pyppeteer/browser.py", line 11, in
from pyee import EventEmitter
File "/home/dh/.local/lib/python3.9/site-packages/pyee/__init__.py", line 73, in
from pyee._trio import TrioEventEmitter # noqa
File "/home/dh/.local/lib/python3.9/site-packages/pyee/_trio.py", line 4, in
import trio
File "/home/dh/.local/lib/python3.9/site-packages/trio/__init__.py", line 18, in
from ._core import (
File "/home/dh/.local/lib/python3.9/site-packages/trio/_core/__init__.py", line 27, in
from ._run import (
File "/home/dh/.local/lib/python3.9/site-packages/trio/_core/_run.py", line 2452, in
from ._io_epoll import EpollIOManager as TheIOManager
File "/home/dh/.local/lib/python3.9/site-packages/trio/_core/_io_epoll.py", line 188, in
class EpollIOManager:
File "/home/dh/.local/lib/python3.9/site-packages/trio/_core/_io_epoll.py", line 189, in EpollIOManager
_epoll = attr.ib(factory=select.epoll)
AttributeError: module 'select' has no attribute 'epoll'
pplonski commented 1 year ago

Hi @dehiker,

Thank you for reporting the issue. Looks like issue with installation. Do you have mc0412 env in conda? It looks like you have env mc0412 activated but installed the mercury package in system path?

Please try to install mercury once again:

conda install -c conda-forge -n mc0421 mercury

Please remember to set env name during installation.

pplonski commented 1 year ago

In the #283 I've added safer import of pyppeteer package which may cause this error. The changes will be in the next release - hopefully this week. Thank you!