WSL2下VSCode插件安装失败 Error compiling Cython file

qingehao
Posts: 1
Joined: Sat Jan 06, 2024 5:05 pm

WSL2下VSCode插件安装失败 Error compiling Cython file

Postby qingehao » Sat Jan 06, 2024 5:11 pm

Collecting gevent<2.0,>=1.2.2 (from gdbgui==0.13.2.0->-r /home/qinge/esp/esp-idf/requirements.txt (line 26))
Using cached gevent-1.5.0.tar.gz (5.3 MB)
Installing build dependencies: started
Installing build dependencies: still running...
Installing build dependencies: finished with status 'done'
Getting requirements to build wheel: started
Getting requirements to build wheel: finished with status 'error'
Installing Python packages from /home/qinge/esp/esp-idf/requirements.txt
error: subprocess-exited-with-error

× Getting requirements to build wheel did not run successfully.
│ exit code: 1
╰─> [315 lines of output]
Compiling src/gevent/resolver/cares.pyx because it changed.
[1/1] Cythonizing src/gevent/resolver/cares.pyx
performance hint: src/gevent/libev/corecext.pyx:1291:5: Exception check on '_syserr_cb' will always require the GIL to be acquired.
Possible solutions:
1. Declare '_syserr_cb' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions.
2. Use an 'int' return type on '_syserr_cb' to allow an error code to be returned.
warning: src/gevent/libev/corecext.pyx:1288:0: Global name __SYSERR_CALLBACK matched from within class scope in contradiction to to Python 'class private name' rules. This may change in a future release.
warning: src/gevent/libev/corecext.pyx:1288:0: Global name __SYSERR_CALLBACK matched from within class scope in contradiction to to Python 'class private name' rules. This may change in a future release.
warning: src/gevent/libev/corecext.pyx:1288:0: Global name __SYSERR_CALLBACK matched from within class scope in contradiction to to Python 'class private name' rules. This may change in a future release.
warning: src/gevent/libev/corecext.pyx:1288:0: Global name __SYSERR_CALLBACK matched from within class scope in contradiction to to Python 'class private name' rules. This may change in a future release.

Error compiling Cython file:
------------------------------------------------------------
...
if events & ~(libev.EV__IOFDSET | libev.EV_READ | libev.EV_WRITE):
raise ValueError('illegal event mask: %r' % events)
# All the vfd_functions are no-ops on POSIX
cdef int vfd = libev.vfd_open(fd)
libev.ev_io_init(&self._watcher, <void *>gevent_callback_io, vfd, events)
self.__watcher = <libev.ev_watcher*>&self._watcher
^
------------------------------------------------------------

src/gevent/libev/corecext.pyx:1027:25: Cannot convert 'ev_watcher *' to Python object

Error compiling Cython file:
------------------------------------------------------------
...
raise ValueError('illegal event mask: %r' % events)
# All the vfd_functions are no-ops on POSIX
cdef int vfd = libev.vfd_open(fd)
libev.ev_io_init(&self._watcher, <void *>gevent_callback_io, vfd, events)
self.__watcher = <libev.ev_watcher*>&self._watcher
self.__ss = &io_ss
^
------------------------------------------------------------

src/gevent/libev/corecext.pyx:1028:20: Cannot convert 'start_and_stop *' to Python object

ESP_rrtandler
Posts: 52
Joined: Wed May 31, 2023 6:54 pm

Re: WSL2下VSCode插件安装失败 Error compiling Cython file

Postby ESP_rrtandler » Tue Jan 16, 2024 5:40 pm

Installing python version 3.10.x and making it a default python (I have modified the path variable to point to the python 3.10 prior the 3.11 version) before running the install script helped me in this situation.

mark.jeronimus
Posts: 7
Joined: Sun Jan 31, 2021 10:11 am

Re: WSL2下VSCode插件安装失败 Error compiling Cython file

Postby mark.jeronimus » Wed Mar 19, 2025 1:23 pm

Thanks for the lead on Python 3.10. Searching for the error was utterly useless.

For those using Ubuntu with Python 3.12 and not able to downgrade normally, here's a solution:

Code: Select all

sudo add-apt-repository ppa:deadsnakes/ppa -y
sudo apt update
sudo apt install python3.10
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.10 310
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.12 312
sudo update-alternatives --config python       # select 3.10

./install.sh esp32
Note that for IDF to run (able to export) Python 3.10 must remain the default. I'm not sure yet if this breaks thins or how to solve this otherwise.

Source: https://linuxcapable.com/how-to-install ... ntu-linux/

Who is online

Users browsing this forum: No registered users and 2 guests