exo-explore / exo

Run your own AI cluster at home with everyday devices 📱💻 🖥️⌚
GNU General Public License v3.0
16.62k stars 888 forks source link

Error on Windows 11: "NotImplementedError" in asyncio #184

Open TheFilipcom4607 opened 3 months ago

TheFilipcom4607 commented 3 months ago

I'm trying to run the project on Windows 11, but I encounter the following error:

Cancelling 0 outstanding tasks
Traceback (most recent call last):
  File "C:\Users\Filip\exo\main.py", line 192, in <module>
    loop.run_until_complete(main())
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.12_3.12.1520.0_x64__qbz5n2kfra8p0\Lib\asyncio\base_events.py", line 687, in run_until_complete
    return future.result()
           ^^^^^^^^^^^^^^^
  File "C:\Users\Filip\exo\main.py", line 177, in main
    loop.add_signal_handler(s, handle_exit)
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.12_3.12.1520.0_x64__qbz5n2kfra8p0\Lib\asyncio\events.py", line 582, in add_signal_handler
    raise NotImplementedError
NotImplementedError

It seems like loop.add_signal_handler is not supported on Windows. Is there a known workaround for this, or is native Windows support planned?

I can provide more info on request

Thank you!

pTinosq commented 3 months ago

Same issue here. Seems like asyncio library is trying to use AbstractEventLoop which seems to be full of "NotImplementedError"s. Also found someone complaining about this issue 4 years ago so it's not looking great for w11 support

AlexCheema commented 3 months ago

Native windows support seems blocked by this, and possibly other stuff as it's untested. I'm going to leave this open, but unlikely it will be fixed soon as we rely heavily on asyncio. You could try tinkering with alternative libs like trio or uvloop.

If you would like to work on this, I've added a $200 bounty to fix it: #186

Yazington commented 2 months ago

Currently testing on WSL under Ubuntu with Miniconda. Able to download llama3 70B model

Shivp1413 commented 2 months ago

I made changes in main.py file, and now its working for windows as well. But I get following error: Error: Failed to fetch completions: Error processing prompt (see logs with DEBUG>=2): No module named '_posixshmem' main.zip

mrge-org commented 1 month ago

I have the same error on my Windows 10 boxes while on my Ubuntu 22.04 box it runs from the first time. I just did on Windows 10 in my exo environment an experiment with the latest exo changes: git pull pip install -e . exo and got similar error to the above:

Cancelling 0 outstanding tasks
Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "C:\dev\envs\exo\Scripts\exo.exe\__main__.py", line 7, in <module>
  File "C:\Dev\exo\exo\main.py", line 203, in run
    loop.run_until_complete(main())
  File "C:\dev\envs\exo\Lib\asyncio\base_events.py", line 687, in run_until_complete
    return future.result()
           ^^^^^^^^^^^^^^^
  File "C:\Dev\exo\exo\main.py", line 184, in main
    loop.add_signal_handler(s, handle_exit)
  File "C:\dev\envs\exo\Lib\asyncio\events.py", line 582, in add_signal_handler
    raise NotImplementedError
NotImplementedError
AlexCheema commented 1 month ago

I have the same error on my Windows 10 boxes while on my Ubuntu 22.04 box it runs from the first time. I just did on Windows 10 in my exo environment an experiment with the latest exo changes: git pull pip install -e . exo and got similar error to the above:

Cancelling 0 outstanding tasks
Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "C:\dev\envs\exo\Scripts\exo.exe\__main__.py", line 7, in <module>
  File "C:\Dev\exo\exo\main.py", line 203, in run
    loop.run_until_complete(main())
  File "C:\dev\envs\exo\Lib\asyncio\base_events.py", line 687, in run_until_complete
    return future.result()
           ^^^^^^^^^^^^^^^
  File "C:\Dev\exo\exo\main.py", line 184, in main
    loop.add_signal_handler(s, handle_exit)
  File "C:\dev\envs\exo\Lib\asyncio\events.py", line 582, in add_signal_handler
    raise NotImplementedError
NotImplementedError

what version of Python are you running?

mrge-org commented 1 month ago

(exo) C:\Dev\exo>python --version Python 3.12.7