DamnWidget / anaconda

Anaconda turns your Sublime Text 3 in a full featured Python development IDE including autocompletion, code linting, IDE features, autopep8 formating, McCabe complexity checker Vagrant and Docker support for Sublime Text 3 using Jedi, PyFlakes, pep8, MyPy, PyLint, pep257 and McCabe that will never freeze your Sublime Text 3
http://damnwidget.github.io/anaconda/
GNU General Public License v3.0
2.21k stars 260 forks source link

Anaconda worker doesn't start due to asyncore and asynchat missing #940

Open RenHoekNL opened 10 months ago

RenHoekNL commented 10 months ago

I installed the latest Python version (python-3.12.0-amd64.exe) today and installed the package. It complained that the worker isn't running.

I tried starting the worker by hand to see what's going on:

cd "%appdata%\Sublime Text 3\Packages\Anaconda"
python -B anaconda_server/jsonserver.py -p test 9999 DEBUG

I got the following errors:

Which could be solved by

python -m pip install pyasyncore
python -m pip install pyasynchat

Turns out that asyncore and asynchat (ref:https://pypi.org/project/pyasynchat/) are no longer part of the standard modules.

jbartolozzi commented 5 months ago

I had to do the following since these packages arent managed in homebrew

python -m pip install pyasynchat --break-system-packages &&
python -m pip install pyasyncore --break-system-packages

I also had to do this https://github.com/wbond/package_control/issues/1612#issuecomment-1837183691 in order to get Sublime Package manager working again

mrfuxi commented 3 months ago

Based on Python docs, asyncore that Anaconda depends on https://github.com/DamnWidget/anaconda/blob/2cb208de206e97263b9d9e092dd3d3e7f35309fc/anaconda_server/jsonserver.py#L13 got removed from Python 3.12

Deprecated since version 3.6, will be removed in version 3.12: The [asyncore](https://docs.python.org/3.11/library/asyncore.html#module-asyncore) module is deprecated (see [PEP 594](https://peps.python.org/pep-0594/#asyncore) for details). Please use [asyncio](https://docs.python.org/3.11/library/asyncio.html#module-asyncio) instead.